Hi Nik, That's one possibility, yes. You could use mod_xml_curl to provide the dial-plan on the fly and then use mod_event_socket to send commands to FS and process events. That's exactly what I do actually, we have an IVR engine that is driven by mod_event_socket and another module that provides the XML dial-plan through mod_xml_curl. The beauty of FS is that you have many options to tack a problem, and all of those options are very elegant. I suggest looking at mod_event_socket first and then decide if you can live with the static dial-plan or go to a more dynamic dial-plan via mod_xml_curl.
Regards, Raul On Tue, 2009-02-03 at 16:53 +0000, Nik Middleton wrote: > Are you suggesting that I should process the call externally instead of > using the dialplan? That would be neat as the audio file select could > be driven from the db select for the number. I presume that I could > also bridge the call to another number as well dependant on DTMF > selection? > > Regards > > > -----Original Message----- > From: freeswitch-users-boun...@lists.freeswitch.org > [mailto:freeswitch-users-boun...@lists.freeswitch.org] On Behalf Of Raul > Fragoso > Sent: 03 February 2009 13:12 > To: freeswitch-users@lists.freeswitch.org > Subject: Re: [Freeswitch-users] Generating calls from external source > > In addition do David's suggestion, you probably want to have your > application to watch for some specific events after the call is > originated and take action based on them. For example, you could watch > for the CHANNEL_ANSWER event and play some audio file waiting for some > digit, which is generated by the DTMF event. > To watch only for those specific events, you should do the following > just after authentication (still using Perl as an example, but the > mod_event_socket is language agnostic), then you will receive those > events from FreeSWITCH through the socket stream: > > ... > print $sock "auth XXX\n\n"; > print $sock "event plain CHANNEL_ANSWER DTMF\n\n"; > ... > > To see a list of available events, please look at the following wiki > pages: > http://wiki.freeswitch.org/wiki/Mod_event_socket#event > http://wiki.freeswitch.org/wiki/Event_list > > Regards, > > Raul > > On Tue, 2009-02-03 at 09:46 +0000, David Knell wrote: > > Hi Nik, > > > > > > Here's a snipped in Perl that launches an outbound call: > > > > > > if (my $sock = IO::Socket::INET->new(Proto =>'tcp', PeerAddr => > > '127.0.0.1', PeerPort => 8021)) { > > print $sock "auth XXX\n\n"; > > print $sock "api originate {softivr_id=$siid,src_softivr_id= > > $siid,softivr_outdial=true}sofia/frombt/$...@1.2.3.4 $service\n\n"; > > $sock->close(); > > } > > > > > > - it does no error checking or anything, but (line by line) it: > > - opens a socket to the event socket interface > > - authenticates > > - issues an originate which dials out to the number in $ntd. The > > bits in {} set a bunch of variables on the channel, which are used by > > the software which processes the call later on. The call is linked to > > the extension in $service - FS looks this up in the dialplan - which > > handles our end. > > - closes the socket > > > > > > Cheers -- > > > > > > Dave > > > > > > > > > Thanks for that, coming from a C++ background it's a refreshing > > > change to be looking at something that seems logical and efficient. > > > > > > I'd briefly looked at the event socket and wondered if that was the > > > way to go. I presume that there's some sort of event generation > > > that can trigger and external process as well somewhere, though all > > > I need to do is update mysql (hopefully using some sort of pooled > > > connection) > > > > > > I'm not using a TDM card, I have a direct interconnect with the PSTN > > > breakout provider with 1,500 channels available to me. I'm finding > > > Asterisk proving to be less than stable at high call volumes and > > > load values spike at more than 100 calls with billing/accounting in > > > place, hence my interest in FS. The only thing that's concerning me > > > is XML at the moment. Lots of code and very wordy. I'm sure I'll > > > appreciate why XML given time > > > > > > Regards, > > > > > > > > > ____________________________________________________________________ > > > From: freeswitch-users-boun...@lists.freeswitch.org > [mailto:freeswitch-users-boun...@lists.freeswitch.org] On Behalf Of > Michael S Collins > > > Sent: 03 February 2009 01:17 > > > To: freeswitch-users@lists.freeswitch.org > > > Subject: Re: [Freeswitch-users] Generating calls from external > > > source > > > > > > Nik, > > > > > > Welcome to FreeSWITCH! The short answer is "yes, FS can do that." > > > The first thing that you should do is unlearn "the Asterisk way" of > > > thinking. Usually there is an elegant way of doing things in FS that > > > wasn't possible in Ast. > > > > > > I would recommend that you start by looking at the event socket, > > > which is somewhat analogous to the AMI only cooler. :) I have > > > personally done something similar to this using the event socket and > > > a Perl script. The key is to learn the syntax of the originate > > > command. (definitely hit the wiki and IRC channel) > > > Are you using TDM cards for this? Just curious. > > > > > > -MC (IRC nick: mercutioviz) > > > > > > Sent from my iPhone > > > > > > On Feb 2, 2009, at 3:35 PM, "Nik Middleton" > > > <nik.middle...@noblesolutions.co.uk> wrote: > > > > Hi Guys, > > > > > > > > As a long time Asterisk user, I'm looking into freeswitch as an > > > > alternative mainly due to (list multiple reasons here) > > > > > > > > Can anyone give me a pointer as to how I would achieve the > > > > following? > > > > > > > > I need to replicate an emergency broadcast system currently > > > > running under Asterisk. > > > > > > > > At the moment, I run through a Mysql database and using the > > > > manager API, issues an Originate command to dial a number. > > > > > > > > When the call is answered, a message is played, and the recipient > > > > has the option of hitting a digit to confirm receipt. I then call > > > > an AGI script to update the database. > > > > > > > > Is this fairly easy to do in Freeswitch? > > > > > > > > Not looking for code, just some pointers as to what's available to > > > > do the above / > > > > > > > > Regards, > > > > _______________________________________________ > > > > Freeswitch-users mailing list > > > > Freeswitch-users@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@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@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@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@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org