[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