There is an event you can send as well to switch them, it your trying to switch it via event socket, that should be better, its not on the wiki, but
a session message with eavesdrop-command header with data as the same as dtmf should do the trick Mike On Oct 16, 2009, at 11:54 AM, Nikita Belov wrote: > Yes, it is what I need. But now I have problem with sending dtmf. > Here what > I've done: > [r...@centos4-4-vm ~]# telnet localhost 8021 > Trying 127.0.0.1... > Connected to localhost.localdomain (127.0.0.1). > Escape character is '^]'. > Content-Type: auth/request > > auth ClueCon > > Content-Type: command/reply > Reply-Text: +OK accepted > > api originate user/[email protected] &park() > > Content-Type: api/response > Content-Length: 41 > > +OK bba3b45a-4cc1-48af-a15d-1052d5f11371 > > SendMsg bba3b45a-4cc1-48af-a15d-1052d5f11371 > call-command: execute > execute-app-name: eavesdrop > execute-app-arg: cd99f999-9b47-457e-8439-1d366e015b8c > > Content-Type: command/reply > Reply-Text: +OK > > Here I had started to hear A and B. Here what I saw in FS log: > 2009-10-18 03:22:47 [DEBUG] switch_core_session.c:706 > switch_core_session_queue_private_event() Send signal > sofia/internal/sip:[email protected]:5060;fs_nat=yes [BREAK] > 2009-10-18 03:22:47 [DEBUG] switch_ivr.c:540 switch_ivr_parse_event() > sofia/internal/sip:[email protected]:5060;fs_nat=yes Command Execute > eavesdrop(cd99f999-9b47-457e-8439-1d366e015b8c) > 2009-10-18 03:22:47 [DEBUG] switch_core_media_bug.c:297 > switch_core_media_bug_add() Attaching BUG to > sofia/internal/[email protected] > 2009-10-18 03:22:47 [DEBUG] switch_core_io.c:234 > switch_core_session_read_frame() > sofia/internal/[email protected] receive message > [TRANSCODING_NECESSARY] > 2009-10-18 03:22:47 [DEBUG] switch_core_io.c:234 > switch_core_session_read_frame() > sofia/internal/sip:[email protected]:5060;fs_nat=yes receive message > [TRANSCODING_NECESSARY] > > Then I run command: > api uuid_send_dtmf bba3b45a-4cc1-48af-a15d-1052d5f11371 1 > > Content-Type: api/response > Content-Length: 14 > > -ERR no reply > > Log: > 2009-10-18 03:24:01 [DEBUG] switch_core_io.c:1190 > switch_core_session_send_dtmf_string() > sofia/internal/sip:[email protected]:5060;fs_nat=yes send dtmf > digit=1 ms=250 samples=2000 > 2009-10-18 03:24:01 [DEBUG] switch_rtp.c:1282 do_2833() Send start > packet > for [1] ts=2241760 dur=160/160/2000 seq=21346 > 2009-10-18 03:24:01 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=320/320/2000 seq=21347 > 2009-10-18 03:24:01 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=480/480/2000 seq=21348 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=640/640/2000 seq=21349 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=800/800/2000 seq=21350 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=960/960/2000 seq=21351 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=1120/1120/2000 seq=21352 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=1280/1280/2000 seq=21353 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=1440/1440/2000 seq=21354 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=1600/1600/2000 seq=21355 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=1760/1760/2000 seq=21356 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send middle > packet > for [1] ts=2241760 dur=1920/1920/2000 seq=21357 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send end > packet for > [1] ts=2241760 dur=2080/2080/2000 seq=21358 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send end > packet for > [1] ts=2241760 dur=2080/2080/2000 seq=21359 > 2009-10-18 03:24:02 [DEBUG] switch_rtp.c:1221 do_2833() Send end > packet for > [1] ts=2241760 dur=2080/2080/2000 seq=21360 > > But both A and B couldn't hear me. > Btw, after I had send dtmf "1" manually from my phone. B started to > hear me. > There was this record in log: > 2009-10-18 03:47:55 [DEBUG] switch_rtp.c:1767 switch_rtp_dequeue_dtmf > () RTP > RECV DTMF 1:2240 > > Does anybody know, what had I done wrong? > > ___ > > Thanks, Nikita > >> -----Original Message----- >> From: [email protected] >> [mailto:freeswitch- >> [email protected]] On Behalf Of Rupa Schomaker >> Sent: Thursday, October 15, 2009 4:04 PM >> To: [email protected] >> Subject: Re: [Freeswitch-users] conference call >> >> The wiki has a pretty good explanation of how eavesdrop works. >> Enabling a talk path to A or B or both A and B requires dtmf. >> >> So, if C hits the 1 button on the phone they can talk to the UUID you >> bound the eavesdrop to. 2 talks to the other party. 3 talks to >> both >> parties. >> >> http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_eavesdrop >> >> Adding more api calls to control eavesdrop via event socket should be >> possible, though I haven't looked at the code to see what it would >> take... >> >> On Thu, Oct 15, 2009 at 3:16 AM, Nikita Belov <[email protected]> >> wrote: >>> Thanks for answer. >>> >>> >>> >>> As I've understood eavesdrop allows C to hear A and B, but A and B >>> will >> not >>> hear C. But in my case B SHOULD hear C. In my case A - client, B - >>> agent >>> worked with client and C - coach/supervisor for B. Can I make such >>> conference in FS using eavesdrop or other API command? >>> >>> >>> >>> ___ >>> >>> >>> >>> Thanks, Nikita >>> >>> >>> >>> ________________________________ >>> >>> From: [email protected] >>> [mailto:[email protected]] On Behalf >>> Of Joao >>> Mesquita >>> Sent: Wednesday, October 14, 2009 7:38 PM >>> To: [email protected] >>> Subject: Re: [Freeswitch-users] conference call >>> >>> >>> >>> Look at eavesdrop on the wiki. >>> >>> JM >>> >>> 2009/10/14 Nikita Belov <[email protected]> >>> >>> HI all, >>> >>> >>> >>> I want to configure FS to make special conference call between three >> users >>> (A, B, C). In this conference C will hear A and B, but A will >>> hear only >> B. >>> Can I make it using FS API commands? Does anybody know which >>> approach is >>> better to use? >>> >>> >>> >>> ___ >>> >>> >>> >>> Thanks, Nikita >>> >>> _______________________________________________ >>> FreeSWITCH-users mailing list >>> [email protected] >>> 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 >>> [email protected] >>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users >>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- >>> users >>> http://www.freeswitch.org >>> >>> >> >> >> >> -- >> -Rupa >> >> _______________________________________________ >> FreeSWITCH-users mailing list >> [email protected] >> 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 > [email protected] > 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 [email protected] http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
