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

Bob Coleman bobc at devassert.com
Mon May 31 02:52:47 PDT 2010


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
>



More information about the FreeSWITCH-users mailing list