[Freeswitch-dev] Good Time!

Michael Taylor michael at omniscient.com.au
Wed Mar 18 16:22:33 PDT 2009


No need for a script, try this:

     <extension name="special extension">
       <condition field="destination_number" expression="^500$">
         <action application="set" data="call_timeout=10"/>
         <action application="bridge" 
data="sofia/internal/user1|sofia/internal/user2|sofia/internal/user3|sofia/internal/user4|sofia/internal/user5"/>
       </condition>
     </extension>

one_other_user can now call 500 (in this example) to call each user in turn

Refer to http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_bridgecall
for the 10 second "Timeout"

Refer to http://wiki.freeswitch.org/wiki/Freeswitch_IVR_Originate
for "Mutiple destinations in outbound calls"

NOTE: the '|' between each sofia/internal/userX means try each one at a time

A more advanced option would be to use a call-group, that you add the 5 users to.

     <extension name="add-group">
       <condition field="destination_number" expression="^501$">
         <action application="answer"/>
         <action application="group" data="insert:500@${domain_name}:user/${sip_from_user}"/>
         <action application="gentones" data="%(1000, 0, 640)"/>
       </condition>
     </extension>

     <extension name="del-group">
       <condition field="destination_number" expression="^502$">
         <action application="answer"/>
         <action application="group" data="delete:500@${domain_name}:user/${sip_from_user}"/>
         <action application="gentones" data="%(1000, 0, 320)"/>
       </condition>
     </extension>

     <extension name="call-group">
       <condition field="destination_number" expression="^500$">
         <action application="set" data="call_timeout=10"/>
         <action application="bridge" data="${group(call:500@${domain_name}:order)}"/>
       </condition>
     </extension>

from each of the 5 sip phones, dial the extension 501 to add them into the group

dialing 502 from a phone takes it out of a group

dialing 500 calls each member of the group one at a time until one is answered
the order that each sip phone is called will be the order you added them into the group (using 
extension 501)

Michael.

Леша... wrote:
> Hello everybody!
> 
> I need your help with scripting! 
> 
> Problem is: 
> I've got an office with (example) 5 sip soft phones (users)
> And one_other_user outside this office, in another group.
> What I need is to make the special extension, which will do next:
> When one_other_user dial this extension - he automaticaly linking with first available user from office.
> 
> Technicaly, I see it working this way:
> Application puts one_other_user in a hold and starts dialing first user. 
> If during 10 seconds he gets up the phone - application links them.
> If not - application dialing second user.
> If second user is busy - dialing third user. Next actions - the same to previous.
> 
> If last user not OK - hang up.
> 
> Is it possible to create such a script? Using Lua? 
> 
> Sorry if I do something wrong here. =\
> 
> _______________________________________________
> Freeswitch-dev mailing list
> Freeswitch-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org
> 

-- 
Omniscient Australia Pty Ltd
http://www.omniscient.com.au
1300 660 152
GPO Box 2705 MELBOURNE 3001

-------------- next part --------------
A non-text attachment was scrubbed...
Name: michael.vcf
Type: text/x-vcard
Size: 302 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20090319/82ef2e0b/attachment.vcf 


More information about the Freeswitch-dev mailing list