[Freeswitch-users] Questions on Building an application for FreeSWITCH

Bob Coleman bobc at devassert.com
Sun May 30 14:55:38 PDT 2010


I have put up an example for the outbound eventsocket in c#, it is
real basic but gives you one approach to using this method. This has
been coupled together by looking at other samples.

There are two files, one is the dialplan ( 810_sample_ivr.xml ) which
should be placed in the conf/dialplan/default folder
The other file is a zip including a library for talking to the event
socket and a simple test listener.

http://www.devassert.com/apps/freeswitch/810_sample_ivr.xml
http://www.devassert.com/apps/freeswitch/freeswitch.es.net.zip

The password on the zip is cluecon

To try the test, have the dialplan in place and run freeswitch,
connect to an extension with a soft phone, eg 1001, dial 810 and
listen.

Assuming you have freeswitch callie prompts installed
sounds\en\us\callie\conference\8000 all will be good.

Sample is in Visual Studio 2008 and uses a threading library written
by another party.

If you have any questions just ask.

On Fri, May 28, 2010 at 9:51 AM, Phone <phone.bytes at gmail.com> wrote:
> Thanks,
>
> Examples and feedback are most helpful!
>
> Bob Coleman wrote:
>> Hi,
>>
>> Will incorporate some threading into the example I am working on for you.
>>
>> The outbound event socket method is very similar to the dialogic
>> environment, I know how you felt though, but by starting small(like
>> just even answering a call) gets you moving pretty quick. Freeswitch
>> is lots of fun to work with, and the guys on here are very
>> supportive!!
>>
>> Bob
>>
>> On Thu, May 27, 2010 at 3:59 AM, Phone <phone.bytes at gmail.com> wrote:
>>
>>> Thanks to all for the most helpful feedback.  Sharing your approaches
>>> and experiences are a big help.  I look forward to the upcoming code
>>> samples.
>>>
>>> I was coming from a windows/dialogic environment where I used a library
>>> that allowed me to work on a little higher level.  For example, I had a
>>> call to "play a file" that took a parameter of whether or not to allow a
>>> dtmf to interrupt.  There was also a call to "ReadDtmfs" that took
>>> parameters to specify the number of Dtmf's to read, how long to wait for
>>> them, and what terminating character to use.  I guess that you could
>>> write some scripts or compiled code with these same types of functions
>>> to simplify some of these routine tasks with reusable code?
>>>
>>> Also, the library handled the threading and scheduling with the OS.  I
>>> am still unclear on handling the events.  I guess you have a big loop
>>> reading events and then acting on them using the uuid to determine which
>>> call it is and how to deal with the next step of the call?  Any feedback
>>> on this part of the project?
>>>
>>> Again, Thanks!
>>>
>>> Bob Coleman wrote:
>>>
>>>> Ah sorry, I started with the esl to get an understanding then wrote my
>>>> own socket library(was actually very easy to do), when I mean docs I
>>>> mean the event socket docs. I still think of it as the esl, my
>>>> mistake.
>>>>
>>>> http://wiki.freeswitch.org/wiki/Event_Socket
>>>>
>>>> I started with a codeplex project, that had been abandoned, and then
>>>> once I understood the structure of the event socket language, was able
>>>> to rewrite it to better handle what we were doing.
>>>>
>>>> I also married it up to an old gotdotnet asterisk fast agi project,
>>>> once again abandoned, to allow for the use of asterisk as well, but in
>>>> the end freeswitch won because we could use just one platform.
>>>>
>>>> I am busy writing a small sample app at the moment to demonstrate a
>>>> problem I am trying to solve. Can release that code once sorted. Will
>>>> be in a week or so. Am intending it as a quick way of testing event
>>>> sockets, and trying various commands etc. before commiting to coding
>>>> something.
>>>>
>>>> Bob
>>>>
>>>> On Wed, May 26, 2010 at 2:26 PM, Jan Berger <jan.berger at video24.no> wrote:
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> Do you have some sample code you could share + what docs did you look at?
>>>>>
>>>>> I would like to write and test some C# using ESL for my own work.
>>>>>
>>>>> Jan
>>>>>
>>>>> -----Original Message-----
>>>>> From: freeswitch-users-bounces at lists.freeswitch.org
>>>>> [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Bob
>>>>> Coleman
>>>>> Sent: 26. mai 2010 04:07
>>>>> To: freeswitch-users at lists.freeswitch.org
>>>>> Subject: Re: [Freeswitch-users] Questions on Building an application for
>>>>> FreeSWITCH
>>>>>
>>>>> We used c# as the rest of our systems are windows based. The language
>>>>> doesnt matter too much, as long as you know where you are headed, what
>>>>> performance you require, and what platform you are going to be using.
>>>>>
>>>>> Found the ESL so much easier than the dialogic c library we were using.
>>>>>
>>>>> The docs for the esl are easy to understand, the thing I couldnt get
>>>>> my head around initially was the dialing out, with the dialogic you
>>>>> are in the middle when you dial, ie already on the channel, but with
>>>>> freeswitch you are kind of the third party when you dial, the channel
>>>>> being created by the dialing and handing it off to be worked on. We
>>>>> make the call via an inbound event socket and hand it off to an
>>>>> outbound event socket application via the dialplan.
>>>>>
>>>>> On Wed, May 26, 2010 at 10:08 AM, Phone <phone.bytes at gmail.com> wrote:
>>>>>
>>>>>
>>>>>> Thanks for the info.  What language did you use?
>>>>>>
>>>>>> Bob Coleman wrote:
>>>>>>
>>>>>>
>>>>>>> Have just recently completed a project to convert an old windows
>>>>>>> dialogic application(vb6) to FreeSWITCH, would reccommend using the
>>>>>>> ESL, was able to map the old dialogic calls to the ESL calls pretty
>>>>>>> easily. We used a mixture of inbound and outbound sockets, as we have
>>>>>>> people dialing us, not just dialing out etc.
>>>>>>>
>>>>>>> With the dialogic you open a port and make the call and handle the
>>>>>>> dtmf, with freeswitch you create a socket connection to FreeSWITCH to
>>>>>>> dial the number and then hand it off to an extension for processing
>>>>>>> the dtmf(that is one approach any way)
>>>>>>>
>>>>>>> Bob
>>>>>>>
>>>>>>> On Wed, May 26, 2010 at 6:45 AM, Michael Collins <msc at freeswitch.org>
>>>>>>>
>>>>>>>
>>>>> wrote:
>>>>>
>>>>>
>>>>>>>> On Tue, May 25, 2010 at 11:38 AM, Jan Berger <jan.berger at video24.no>
>>>>>>>>
>>>>>>>>
>>>>> wrote:
>>>>>
>>>>>
>>>>>>>>> Actually - before you get "to smart" - may I suggest that you start
>>>>>>>>> writing
>>>>>>>>> - or improving - the getting started sections of the doc. Address the
>>>>>>>>> areas
>>>>>>>>> where you struggle and let others benefit from your work.
>>>>>>>>>
>>>>>>>>> I have been through similar issues myself - FS is one of the easier
>>>>>>>>> projects
>>>>>>>>> to work with once you get under the hood, but you basically need to
>>>>>>>>>
>>>>>>>>>
>>>>> evolve
>>>>>
>>>>>
>>>>>>>>> to the level where you read the source code.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> And if you can wait 2+ months for "the book" then that should help as
>>>>>>>>
>>>>>>>>
>>>>> well.
>>>>>
>>>>>
>>>>>>>> :D
>>>>>>>> -MC
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> FreeSWITCH-users mailing list
>>>>>>>> FreeSWITCH-users at lists.freeswitch.org
>>>>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>>>>>> http://www.freeswitch.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> FreeSWITCH-users mailing list
>>>>>>> FreeSWITCH-users at lists.freeswitch.org
>>>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>>>>> http://www.freeswitch.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> _______________________________________________
>>>>>> FreeSWITCH-users mailing list
>>>>>> FreeSWITCH-users at lists.freeswitch.org
>>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>>>> http://www.freeswitch.org
>>>>>>
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> FreeSWITCH-users mailing list
>>>>> FreeSWITCH-users at lists.freeswitch.org
>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>>> http://www.freeswitch.org
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> FreeSWITCH-users mailing list
>>>>> FreeSWITCH-users at lists.freeswitch.org
>>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>>> http://www.freeswitch.org
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> FreeSWITCH-users mailing list
>>>> FreeSWITCH-users at lists.freeswitch.org
>>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>>> http://www.freeswitch.org
>>>>
>>>>
>>> _______________________________________________
>>> FreeSWITCH-users mailing list
>>> FreeSWITCH-users at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>>> http://www.freeswitch.org
>>>
>>>
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
> _______________________________________________
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>



More information about the FreeSWITCH-users mailing list