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

Phone phone.bytes at gmail.com
Tue Jun 1 14:42:15 PDT 2010


Thanks for the sample Bob!  I am looking to do this in a linux 
environment...trying to get access to Visual Studio 2008 to explore your 
example.

Anyone with examples that could be implemented on the linux side would 
be appreciated also.

Thanks for all the comments and feedback...awesome forum!

Bob Coleman wrote:
> Ok
>
> On Mon, May 31, 2010 at 9:33 PM, Jan Berger <jan.berger at video24.no> wrote:
>   
>> Bob,
>>
>> I suggest you write a wiki-article on FS about this, because this email is
>> soon forgotten.
>>
>> -----Original Message-----
>> From: freeswitch-users-bounces at lists.freeswitch.org
>> [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Bob
>> Coleman
>> Sent: 30. mai 2010 23:56
>> To: freeswitch-users at lists.freeswitch.org
>> Subject: Re: [Freeswitch-users] Questions on Building an application for
>> FreeSWITCH
>>
>> 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
>>>
>>>       
>> _______________________________________________
>> 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