"barge in" implementation with mod_socket and eavesdrop
Hello! I'm trying to implement "barge in" functionality (see http://www.yourdictionary.com/telecom/barge-in) with "eavesdrop" but still with no success. The situation is: - Person A calls to the extension: <extension name="some_ext"> <condition field="destination_number" expression="^900.$"> <action application="answer"/> <action application="park"/> </condition> </extension> - I bridge him with person B with help of mod_socket: SendMsg <some_uuid> call-command: execute execute-app-name: bridge execute-app-arg: <person B address in form: "user/..."> - A and B talks - Person C decides to barge in the call A<-->B (to become a third participator in the call) a) I send (mod_socket): SendMsg <C_uuid> call-command: execute execute-app-name: eavesdrop execute-app-arg: <A_uuid or B_uuid, result is the same> b) Then, as the spec says ( http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_eavesdrop) I sent DTMF "3" with api uuid_send_dtmf <C_uuid> 3 but it doesn't work. I mean that A can hear B and vice verse, but both A and B can't hear C. C also doesn't hear neither A nor B. If I press "3" on the C's softphone (latest X-Lite) then, really, C becomes a full-capabilities participator of the call. Instead of "uuid_send_dtmf" I tried: 1) sendevent DTMF Unique-ID: <C_uuid> DTMF-Digit: 3 DTMF-Duration: 2000 2) first make queue_dtmf for the <C_uuid>, and then eavesdrop 3) SendMsg <C_uuid> call-command: execute execute-app-name: gentones execute-app-arg: 3 4) SendMsg <C_uuid> call-command: execute execute-app-name: send_dtmf execute-app-arg: 3 And none of these methods leads to the "barged in" call. Anyone knows how to press "3" programmatically on behalf of the given channel with mod_socket?! Artem
yes call the app as "three_way" like i said in the other thread. On Tue, Sep 15, 2009 at 9:22 AM, Artem Shiyanov <shiyanov@gmail.com> wrote:
Hello!
I'm trying to implement "barge in" functionality (see http://www.yourdictionary.com/telecom/barge-in) with "eavesdrop" but still with no success.
The situation is: - Person A calls to the extension: <extension name="some_ext"> <condition field="destination_number" expression="^900.$"> <action application="answer"/> <action application="park"/> </condition> </extension>
- I bridge him with person B with help of mod_socket: SendMsg <some_uuid> call-command: execute execute-app-name: bridge execute-app-arg: <person B address in form: "user/...">
- A and B talks
- Person C decides to barge in the call A<-->B (to become a third participator in the call) a) I send (mod_socket): SendMsg <C_uuid> call-command: execute execute-app-name: eavesdrop execute-app-arg: <A_uuid or B_uuid, result is the same>
b) Then, as the spec says ( http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_eavesdrop) I sent DTMF "3" with api uuid_send_dtmf <C_uuid> 3 but it doesn't work. I mean that A can hear B and vice verse, but both A and B can't hear C. C also doesn't hear neither A nor B.
If I press "3" on the C's softphone (latest X-Lite) then, really, C becomes a full-capabilities participator of the call. Instead of "uuid_send_dtmf" I tried: 1) sendevent DTMF Unique-ID: <C_uuid> DTMF-Digit: 3 DTMF-Duration: 2000
2) first make queue_dtmf for the <C_uuid>, and then eavesdrop
3) SendMsg <C_uuid> call-command: execute execute-app-name: gentones execute-app-arg: 3
4) SendMsg <C_uuid> call-command: execute execute-app-name: send_dtmf execute-app-arg: 3
And none of these methods leads to the "barged in" call.
Anyone knows how to press "3" programmatically on behalf of the given channel with mod_socket?!
Artem
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Anthony, thank you much, "three_way" is a powerful app! I've added small description in wiki, if you don't mind. http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_three_way Meanwhile, another question has been evolved: In words of the scenario below, now if A hangs up the call then all other (B, C) channels also being hanged up automatically by FreeSwitch. Is there any way to save the call B <--> C if A has hanged up the phone? Again, the whole scenario is the same as it is described in my first message. Artem On Tue, Sep 15, 2009 at 7:08 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
yes call the app as "three_way" like i said in the other thread.
On Tue, Sep 15, 2009 at 9:22 AM, Artem Shiyanov <shiyanov@gmail.com>wrote:
Hello!
I'm trying to implement "barge in" functionality (see http://www.yourdictionary.com/telecom/barge-in) with "eavesdrop" but still with no success.
The situation is: - Person A calls to the extension: <extension name="some_ext"> <condition field="destination_number" expression="^900.$"> <action application="answer"/> <action application="park"/> </condition> </extension>
- I bridge him with person B with help of mod_socket: SendMsg <some_uuid> call-command: execute execute-app-name: bridge execute-app-arg: <person B address in form: "user/...">
- A and B talks
- Person C decides to barge in the call A<-->B (to become a third participator in the call) a) I send (mod_socket): SendMsg <C_uuid> call-command: execute execute-app-name: eavesdrop execute-app-arg: <A_uuid or B_uuid, result is the same>
b) Then, as the spec says ( http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_eavesdrop) I sent DTMF "3" with api uuid_send_dtmf <C_uuid> 3 but it doesn't work. I mean that A can hear B and vice verse, but both A and B can't hear C. C also doesn't hear neither A nor B.
If I press "3" on the C's softphone (latest X-Lite) then, really, C becomes a full-capabilities participator of the call. Instead of "uuid_send_dtmf" I tried: 1) sendevent DTMF Unique-ID: <C_uuid> DTMF-Digit: 3 DTMF-Duration: 2000
2) first make queue_dtmf for the <C_uuid>, and then eavesdrop
3) SendMsg <C_uuid> call-command: execute execute-app-name: gentones execute-app-arg: 3
4) SendMsg <C_uuid> call-command: execute execute-app-name: send_dtmf execute-app-arg: 3
And none of these methods leads to the "barged in" call.
Anyone knows how to press "3" programmatically on behalf of the given channel with mod_socket?!
Artem
_______________________________________________ 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
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ 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
to do that you would have to transfer all the parties into a conference On Thu, Sep 17, 2009 at 3:57 PM, Artem Shiyanov <shiyanov@gmail.com> wrote:
Anthony, thank you much, "three_way" is a powerful app! I've added small description in wiki, if you don't mind. http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_three_way
Meanwhile, another question has been evolved: In words of the scenario below, now if A hangs up the call then all other (B, C) channels also being hanged up automatically by FreeSwitch. Is there any way to save the call B <--> C if A has hanged up the phone? Again, the whole scenario is the same as it is described in my first message.
Artem
On Tue, Sep 15, 2009 at 7:08 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
yes call the app as "three_way" like i said in the other thread.
On Tue, Sep 15, 2009 at 9:22 AM, Artem Shiyanov <shiyanov@gmail.com>wrote:
Hello!
I'm trying to implement "barge in" functionality (see http://www.yourdictionary.com/telecom/barge-in) with "eavesdrop" but still with no success.
The situation is: - Person A calls to the extension: <extension name="some_ext"> <condition field="destination_number" expression="^900.$"> <action application="answer"/> <action application="park"/> </condition> </extension>
- I bridge him with person B with help of mod_socket: SendMsg <some_uuid> call-command: execute execute-app-name: bridge execute-app-arg: <person B address in form: "user/...">
- A and B talks
- Person C decides to barge in the call A<-->B (to become a third participator in the call) a) I send (mod_socket): SendMsg <C_uuid> call-command: execute execute-app-name: eavesdrop execute-app-arg: <A_uuid or B_uuid, result is the same>
b) Then, as the spec says ( http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_eavesdrop) I sent DTMF "3" with api uuid_send_dtmf <C_uuid> 3 but it doesn't work. I mean that A can hear B and vice verse, but both A and B can't hear C. C also doesn't hear neither A nor B.
If I press "3" on the C's softphone (latest X-Lite) then, really, C becomes a full-capabilities participator of the call. Instead of "uuid_send_dtmf" I tried: 1) sendevent DTMF Unique-ID: <C_uuid> DTMF-Digit: 3 DTMF-Duration: 2000
2) first make queue_dtmf for the <C_uuid>, and then eavesdrop
3) SendMsg <C_uuid> call-command: execute execute-app-name: gentones execute-app-arg: 3
4) SendMsg <C_uuid> call-command: execute execute-app-name: send_dtmf execute-app-arg: 3
And none of these methods leads to the "barged in" call.
Anyone knows how to press "3" programmatically on behalf of the given channel with mod_socket?!
Artem
_______________________________________________ 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
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ 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
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
participants (2)
-
Anthony Minessale
-
Artem Shiyanov