From msc at freeswitch.org Mon Mar 1 16:58:27 2010 From: msc at freeswitch.org (Michael Collins) Date: Mon, 1 Mar 2010 16:58:27 -0800 Subject: [Freeswitch-dev] FreeSWITCH Weekly Conference Call Agenda For Mar 3 Message-ID: <87f2f3b91003011658m724178d5i6409d75d3a1b5949@mail.gmail.com> Hello folks! I am trying to get a head start on the conference call agenda going out. I have put a few things on the list already: http://wiki.freeswitch.org/wiki/FS_weekly_2010_03_03 I would like more people to add things. We had an impromptu mod_limit discussion by Rupa S. last week and it was very cool. I recorded it and will have it available for download shortly. Last week's meeting was great! Please join us and bring your questions for discussion about FreeSWITCH. -Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100301/fadd443a/attachment.html From dujinfang at gmail.com Mon Mar 1 18:23:07 2010 From: dujinfang at gmail.com (Seven Du) Date: Tue, 2 Mar 2010 10:23:07 +0800 Subject: [Freeswitch-dev] skypiax alerts on trunk code Message-ID: <23f91031003011823v458a4ff7sbaa68fba46d3be97@mail.gmail.com> Hi, I'v seen lots improvements on trunk code, I just build a new server with skype beta on FreeSWITCH Version 1.0.trunk (16848). Ubuntu 8.04 64bit. It works well. however I seen some messages on debug level console. Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0x7f1728a0c97c] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x24) [0x7f1728a0ca84] #2 /usr/lib/libX11.so.6 [0x7f1728c54260] #3 /usr/lib/libX11.so.6(XSync+0xd5) [0x7f1728c49915] #4 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1f2af] #5 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1fcf1] #6 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f2353c] #7 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1bc7a] #8 /lib/libpthread.so.0 [0x7f17346663ea] #9 /lib/libc.so.6(clone+0x6d) [0x7f1734198cbd] Locking assertion failure. Backtrace: #0 /usr/lib/libxcb-xlib.so.0 [0x7f1728a0c97c] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x15) [0x7f1728a0ca15] #2 /usr/lib/libX11.so.6 [0x7f1728c54323] #3 /usr/lib/libX11.so.6 [0x7f1728c54a4b] #4 /usr/lib/libX11.so.6 [0x7f1728c54d75] #5 /usr/lib/libX11.so.6(XNextEvent+0x7f) [0x7f1728c3cc2f] #6 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1f79e] #7 /lib/libpthread.so.0 [0x7f17346663ea] #8 /lib/libc.so.6(clone+0x6d) [0x7f1734198cbd] I will upgrade and test later. and will gather more infos and will report on jira if it's a bug or ignore if it's harmless. From gmaruzz at celliax.org Tue Mar 2 06:51:26 2010 From: gmaruzz at celliax.org (Giovanni Maruzzelli) Date: Tue, 2 Mar 2010 15:51:26 +0100 Subject: [Freeswitch-dev] skypiax alerts on trunk code In-Reply-To: <23f91031003011823v458a4ff7sbaa68fba46d3be97@mail.gmail.com> References: <23f91031003011823v458a4ff7sbaa68fba46d3be97@mail.gmail.com> Message-ID: <7b197bef1003020651w765b2a0au644fc0ec24d539a3@mail.gmail.com> Hello Seven, those are "almost unharmful" :). Let me know how it goes your testing with skype beta. In my experience skype beta client has problems in answering calls if more channels share the same skypeusername and one channel is in a call. If you have any problem with mod_skypiax, before to delve in it, test if the problem exist also with the stable, static build. Thanks a lot for your testing -giovanni On Tue, Mar 2, 2010 at 3:23 AM, Seven Du wrote: > Hi, > > I'v seen lots improvements on trunk code, I just build a new server > with skype beta on FreeSWITCH Version 1.0.trunk (16848). ?Ubuntu 8.04 > 64bit. > > It works well. however I seen some messages on debug level console. > > Locking assertion failure. ?Backtrace: > #0 /usr/lib/libxcb-xlib.so.0 [0x7f1728a0c97c] > #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x24) [0x7f1728a0ca84] > #2 /usr/lib/libX11.so.6 [0x7f1728c54260] > #3 /usr/lib/libX11.so.6(XSync+0xd5) [0x7f1728c49915] > #4 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1f2af] > #5 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1fcf1] > #6 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f2353c] > #7 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1bc7a] > #8 /lib/libpthread.so.0 [0x7f17346663ea] > #9 /lib/libc.so.6(clone+0x6d) [0x7f1734198cbd] > Locking assertion failure. ?Backtrace: > #0 /usr/lib/libxcb-xlib.so.0 [0x7f1728a0c97c] > #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x15) [0x7f1728a0ca15] > #2 /usr/lib/libX11.so.6 [0x7f1728c54323] > #3 /usr/lib/libX11.so.6 [0x7f1728c54a4b] > #4 /usr/lib/libX11.so.6 [0x7f1728c54d75] > #5 /usr/lib/libX11.so.6(XNextEvent+0x7f) [0x7f1728c3cc2f] > #6 /usr/local/freeswitch/mod/mod_skypiax.so [0x7f1728f1f79e] > #7 /lib/libpthread.so.0 [0x7f17346663ea] > #8 /lib/libc.so.6(clone+0x6d) [0x7f1734198cbd] > > > I will upgrade ?and test later. and will gather more infos and will > report on jira if it's a bug or ignore if it's harmless. > > _______________________________________________ > 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 > -- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618 From m.sobkow at marketelsystems.com Tue Mar 2 10:35:55 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Tue, 02 Mar 2010 12:35:55 -0600 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters Message-ID: <4B8D5A8B.4010709@marketelsystems.com> I think I may have found a bug in Freeswitch, as both answered and ringing calls have an "Answer-State" "answered" and variable_endpoint_disposition ANSWER, though in one case the call has NOT been answered. For a normally answered call, the following Freeswitch events are propagated to Erlang: CHANNEL_DATA CHANNEL_PARK CHANNEL_HANGUP CHANNEL_UNPARK CHANNEL_EXECUTE_COMPLETE CHANNEL_STATE CHANNEL_HANGUP_COMPLETE CHANNEL_STATE CHANNEL_DESTROY CHANNEL_STATE For an unanswered call, the events are: CHANNEL_DATA CHANNEL_EXECUTE CHANNEL_PARK CHANNEL_HANGUP CHANNEL_UNPARK CHANNEL_EXECUTE_COMPLETE CHANNEL_STATE CHANNEL_HANGUP_COMPLETE CHANNEL_STATE CHANNEL_DESTROY CHANNEL_STATE This is going to make the call processing a little complex, as both variants produce a CHANNEL_PARK early in the call processing, and later produce the HANGUP event. The problem is that with an answered call, I have to uuid_bridge the operator on the CHANNEL_PARK event within 2 seconds to meet legal requirements, while with an unanswered call it's another 30 seconds (configurable) before the CHANNEL_HANGUP event propagates to let me know that the call went unanswered. -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow at marketelsystems.com Web: http://www.marketelsystems.com From m.sobkow at marketelsystems.com Tue Mar 2 10:39:18 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Tue, 02 Mar 2010 12:39:18 -0600 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters In-Reply-To: <4B8D5A8B.4010709@marketelsystems.com> References: <4B8D5A8B.4010709@marketelsystems.com> Message-ID: <4B8D5B56.9010708@marketelsystems.com> Never mind. What's actually happening is now that I've got the Erlang events firing, the timeout on the originate command doesn't seem to be working. I had a timeout of 5 seconds set, but Freeswitch kept ringing until our voice mail system answered my phone (30 seconds.) *sigh* Not that it's any better a result, as we DO need to timeout calls that aren't being answered. Mark Sobkow wrote: > I think I may have found a bug in Freeswitch, as both answered and > ringing calls have an "Answer-State" "answered" and > variable_endpoint_disposition ANSWER, though in one case the call has > NOT been answered. > > For a normally answered call, the following Freeswitch events are > propagated to Erlang: > > CHANNEL_DATA > CHANNEL_PARK > CHANNEL_HANGUP > CHANNEL_UNPARK > CHANNEL_EXECUTE_COMPLETE > CHANNEL_STATE > CHANNEL_HANGUP_COMPLETE > CHANNEL_STATE > CHANNEL_DESTROY > CHANNEL_STATE > > For an unanswered call, the events are: > > CHANNEL_DATA > CHANNEL_EXECUTE > CHANNEL_PARK > CHANNEL_HANGUP > CHANNEL_UNPARK > CHANNEL_EXECUTE_COMPLETE > CHANNEL_STATE > CHANNEL_HANGUP_COMPLETE > CHANNEL_STATE > CHANNEL_DESTROY > CHANNEL_STATE > > This is going to make the call processing a little complex, as both > variants produce a CHANNEL_PARK early in the call processing, and > later produce the HANGUP event. > > The problem is that with an answered call, I have to uuid_bridge the > operator on the CHANNEL_PARK event within 2 seconds to meet legal > requirements, while with an unanswered call it's another 30 seconds > (configurable) before the CHANNEL_HANGUP event propagates to let me > know that the call went unanswered. > -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow at marketelsystems.com Web: http://www.marketelsystems.com From andrew at hijacked.us Tue Mar 2 10:45:13 2010 From: andrew at hijacked.us (Andrew Thompson) Date: Tue, 2 Mar 2010 13:45:13 -0500 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters In-Reply-To: <4B8D5B56.9010708@marketelsystems.com> References: <4B8D5A8B.4010709@marketelsystems.com> <4B8D5B56.9010708@marketelsystems.com> Message-ID: <20100302184512.GF1751@hijacked.us> On Tue, Mar 02, 2010 at 12:39:18PM -0600, Mark Sobkow wrote: > Never mind. What's actually happening is now that I've got the Erlang > events firing, the timeout on the originate command doesn't seem to be > working. I had a timeout of 5 seconds set, but Freeswitch kept ringing > until our voice mail system answered my phone (30 seconds.) > > *sigh* > > Not that it's any better a result, as we DO need to timeout calls that > aren't being answered. > Which timeout variable(s) are you setting, there are several and they have different effects. See http://wiki.freeswitch.org/wiki/Channel_Variables for at least a partial list. Andrew From anthony.minessale at gmail.com Tue Mar 2 10:47:02 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Tue, 2 Mar 2010 12:47:02 -0600 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters In-Reply-To: <4B8D5B56.9010708@marketelsystems.com> References: <4B8D5A8B.4010709@marketelsystems.com> <4B8D5B56.9010708@marketelsystems.com> Message-ID: <191c3a031003021047y26294074rb164e11e39c76c6a@mail.gmail.com> Clearly you used the originate timeout incorrectly. On Tue, Mar 2, 2010 at 12:39 PM, Mark Sobkow wrote: > Never mind. What's actually happening is now that I've got the Erlang > events firing, the timeout on the originate command doesn't seem to be > working. I had a timeout of 5 seconds set, but Freeswitch kept ringing > until our voice mail system answered my phone (30 seconds.) > > *sigh* > > Not that it's any better a result, as we DO need to timeout calls that > aren't being answered. > > Mark Sobkow wrote: > > I think I may have found a bug in Freeswitch, as both answered and > > ringing calls have an "Answer-State" "answered" and > > variable_endpoint_disposition ANSWER, though in one case the call has > > NOT been answered. > > > > For a normally answered call, the following Freeswitch events are > > propagated to Erlang: > > > > CHANNEL_DATA > > CHANNEL_PARK > > CHANNEL_HANGUP > > CHANNEL_UNPARK > > CHANNEL_EXECUTE_COMPLETE > > CHANNEL_STATE > > CHANNEL_HANGUP_COMPLETE > > CHANNEL_STATE > > CHANNEL_DESTROY > > CHANNEL_STATE > > > > For an unanswered call, the events are: > > > > CHANNEL_DATA > > CHANNEL_EXECUTE > > CHANNEL_PARK > > CHANNEL_HANGUP > > CHANNEL_UNPARK > > CHANNEL_EXECUTE_COMPLETE > > CHANNEL_STATE > > CHANNEL_HANGUP_COMPLETE > > CHANNEL_STATE > > CHANNEL_DESTROY > > CHANNEL_STATE > > > > This is going to make the call processing a little complex, as both > > variants produce a CHANNEL_PARK early in the call processing, and > > later produce the HANGUP event. > > > > The problem is that with an answered call, I have to uuid_bridge the > > operator on the CHANNEL_PARK event within 2 seconds to meet legal > > requirements, while with an unanswered call it's another 30 seconds > > (configurable) before the CHANNEL_HANGUP event propagates to let me > > know that the call went unanswered. > > > > > -- > Mark Sobkow > Senior Developer > MarkeTel Multi-Line Dialing Systems LTD. > 428 Victoria Ave > Regina, SK S4N-0P6 > Toll-Free: 800-289-8616-X533 > Local: 306-359-6893-X533 > Fax: 306-359-6879 > Email: m.sobkow at marketelsystems.com > Web: http://www.marketelsystems.com > > > _______________________________________________ > 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 > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100302/f8b0ecee/attachment.html From m.sobkow at marketelsystems.com Tue Mar 2 10:47:44 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Tue, 02 Mar 2010 12:47:44 -0600 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters In-Reply-To: <4B8D5B56.9010708@marketelsystems.com> References: <4B8D5A8B.4010709@marketelsystems.com> <4B8D5B56.9010708@marketelsystems.com> Message-ID: <4B8D5D50.8020309@marketelsystems.com> I tried changing the answer timeout to 2 seconds, but Freeswitch "originate" is definitely not honouring that request. The originate command is: originate, sofia/external/533 at rats.marketel '&erlang( pbx_called_cust pursuit at testsrv )' 5 Mark Sobkow wrote: > Never mind. What's actually happening is now that I've got the Erlang > events firing, the timeout on the originate command doesn't seem to be > working. I had a timeout of 5 seconds set, but Freeswitch kept > ringing until our voice mail system answered my phone (30 seconds.) > > *sigh* > > Not that it's any better a result, as we DO need to timeout calls that > aren't being answered. > > Mark Sobkow wrote: >> I think I may have found a bug in Freeswitch, as both answered and >> ringing calls have an "Answer-State" "answered" and >> variable_endpoint_disposition ANSWER, though in one case the call has >> NOT been answered. >> >> For a normally answered call, the following Freeswitch events are >> propagated to Erlang: >> >> CHANNEL_DATA >> CHANNEL_PARK >> CHANNEL_HANGUP >> CHANNEL_UNPARK >> CHANNEL_EXECUTE_COMPLETE >> CHANNEL_STATE >> CHANNEL_HANGUP_COMPLETE >> CHANNEL_STATE >> CHANNEL_DESTROY >> CHANNEL_STATE >> >> For an unanswered call, the events are: >> >> CHANNEL_DATA >> CHANNEL_EXECUTE >> CHANNEL_PARK >> CHANNEL_HANGUP >> CHANNEL_UNPARK >> CHANNEL_EXECUTE_COMPLETE >> CHANNEL_STATE >> CHANNEL_HANGUP_COMPLETE >> CHANNEL_STATE >> CHANNEL_DESTROY >> CHANNEL_STATE >> >> This is going to make the call processing a little complex, as both >> variants produce a CHANNEL_PARK early in the call processing, and >> later produce the HANGUP event. >> >> The problem is that with an answered call, I have to uuid_bridge the >> operator on the CHANNEL_PARK event within 2 seconds to meet legal >> requirements, while with an unanswered call it's another 30 seconds >> (configurable) before the CHANNEL_HANGUP event propagates to let me >> know that the call went unanswered. >> > > -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow at marketelsystems.com Web: http://www.marketelsystems.com From anthony.minessale at gmail.com Tue Mar 2 10:57:06 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Tue, 2 Mar 2010 12:57:06 -0600 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters In-Reply-To: <4B8D5D50.8020309@marketelsystems.com> References: <4B8D5A8B.4010709@marketelsystems.com> <4B8D5B56.9010708@marketelsystems.com> <4B8D5D50.8020309@marketelsystems.com> Message-ID: <191c3a031003021057o3a4a2815ncf4f1b58c37f2b77@mail.gmail.com> do you mean bridge_answer_timeout? if you see the wiki, that variable only pertains to bridged calls in early_media state. you probably want: http://wiki.freeswitch.org/wiki/Channel_Variables#originate_timeout On Tue, Mar 2, 2010 at 12:47 PM, Mark Sobkow wrote: > I tried changing the answer timeout to 2 seconds, but Freeswitch > "originate" is definitely not honouring that request. The originate > command is: > > originate, sofia/external/533 at rats.marketel '&erlang( pbx_called_cust > pursuit at testsrv )' 5 > > Mark Sobkow wrote: > > Never mind. What's actually happening is now that I've got the Erlang > > events firing, the timeout on the originate command doesn't seem to be > > working. I had a timeout of 5 seconds set, but Freeswitch kept > > ringing until our voice mail system answered my phone (30 seconds.) > > > > *sigh* > > > > Not that it's any better a result, as we DO need to timeout calls that > > aren't being answered. > > > > Mark Sobkow wrote: > >> I think I may have found a bug in Freeswitch, as both answered and > >> ringing calls have an "Answer-State" "answered" and > >> variable_endpoint_disposition ANSWER, though in one case the call has > >> NOT been answered. > >> > >> For a normally answered call, the following Freeswitch events are > >> propagated to Erlang: > >> > >> CHANNEL_DATA > >> CHANNEL_PARK > >> CHANNEL_HANGUP > >> CHANNEL_UNPARK > >> CHANNEL_EXECUTE_COMPLETE > >> CHANNEL_STATE > >> CHANNEL_HANGUP_COMPLETE > >> CHANNEL_STATE > >> CHANNEL_DESTROY > >> CHANNEL_STATE > >> > >> For an unanswered call, the events are: > >> > >> CHANNEL_DATA > >> CHANNEL_EXECUTE > >> CHANNEL_PARK > >> CHANNEL_HANGUP > >> CHANNEL_UNPARK > >> CHANNEL_EXECUTE_COMPLETE > >> CHANNEL_STATE > >> CHANNEL_HANGUP_COMPLETE > >> CHANNEL_STATE > >> CHANNEL_DESTROY > >> CHANNEL_STATE > >> > >> This is going to make the call processing a little complex, as both > >> variants produce a CHANNEL_PARK early in the call processing, and > >> later produce the HANGUP event. > >> > >> The problem is that with an answered call, I have to uuid_bridge the > >> operator on the CHANNEL_PARK event within 2 seconds to meet legal > >> requirements, while with an unanswered call it's another 30 seconds > >> (configurable) before the CHANNEL_HANGUP event propagates to let me > >> know that the call went unanswered. > >> > > > > > > > -- > Mark Sobkow > Senior Developer > MarkeTel Multi-Line Dialing Systems LTD. > 428 Victoria Ave > Regina, SK S4N-0P6 > Toll-Free: 800-289-8616-X533 > Local: 306-359-6893-X533 > Fax: 306-359-6879 > Email: m.sobkow at marketelsystems.com > Web: http://www.marketelsystems.com > > > _______________________________________________ > 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 > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100302/1f23c326/attachment-0001.html From m.sobkow at marketelsystems.com Tue Mar 2 11:07:56 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Tue, 02 Mar 2010 13:07:56 -0600 Subject: [Freeswitch-dev] Bug with variable_endpoint_disposition and Answer-State event parameters In-Reply-To: <20100302184512.GF1751@hijacked.us> References: <4B8D5A8B.4010709@marketelsystems.com> <4B8D5B56.9010708@marketelsystems.com> <20100302184512.GF1751@hijacked.us> Message-ID: <4B8D620C.9030902@marketelsystems.com> An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100302/7e5107b7/attachment.html From anthony.minessale at gmail.com Tue Mar 2 15:07:42 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Tue, 2 Mar 2010 17:07:42 -0600 Subject: [Freeswitch-dev] When is 1.0.5 due out? In-Reply-To: <4ABCE5DD.30903@navynet.it> References: <4ABBCF9E.6040408@marketelsystems.com> <4ABCE5DD.30903@navynet.it> Message-ID: <191c3a031003021507x7b194065p20a5a537e9555e62@mail.gmail.com> Hey, Where have you been hiding? We are going to add t38 to FS with coppice and I need something to test against. Does that test web page that sends a fax still work? On Fri, Sep 25, 2009 at 9:46 AM, Massimo "CtRiX" Cetra > wrote: > Mark Sobkow ha scritto: > > Alternatively, if someone could point me to a repo with control files > > for 1.0.3 or 1.0.4, we could do our own source builds and packaging. > > > Freeswitch code actually contains a debian/ dir with everything needed > to package it the debian way. > > Max > > > _______________________________________________ > 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 > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100302/bf9ca57c/attachment.html From peder at networkoblivion.com Tue Mar 2 15:43:50 2010 From: peder at networkoblivion.com (Peder) Date: Tue, 2 Mar 2010 17:43:50 -0600 Subject: [Freeswitch-dev] When is 1.0.5 due out? In-Reply-To: <191c3a031003021507x7b194065p20a5a537e9555e62@mail.gmail.com> References: <4ABBCF9E.6040408@marketelsystems.com> <4ABCE5DD.30903@navynet.it> <191c3a031003021507x7b194065p20a5a537e9555e62@mail.gmail.com> Message-ID: <0afc01caba62$35adbba0$a10932e0$@com> You can use this to send faxes. It isn't immediate, but it is free: http://faxzero.com/ From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: Tuesday, March 02, 2010 5:08 PM To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] When is 1.0.5 due out? Hey, Where have you been hiding? We are going to add t38 to FS with coppice and I need something to test against. Does that test web page that sends a fax still work? On Fri, Sep 25, 2009 at 9:46 AM, Massimo "CtRiX" Cetra > wrote: Mark Sobkow ha scritto: > Alternatively, if someone could point me to a repo with control files > for 1.0.3 or 1.0.4, we could do our own source builds and packaging. > Freeswitch code actually contains a debian/ dir with everything needed to package it the debian way. Max _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100302/04201bdb/attachment.html From msc at freeswitch.org Wed Mar 3 08:19:11 2010 From: msc at freeswitch.org (Michael Collins) Date: Wed, 3 Mar 2010 08:19:11 -0800 Subject: [Freeswitch-dev] FreeSWITCH Conference Call Agenda Message-ID: <87f2f3b91003030819ld02171ub6bc4cbc191eeb94@mail.gmail.com> Hello all. We have a nice agenda today: http://bit.ly/9zDiBq We invite everyone to join us. I believe that today we may have user todpunk giving a talk on mod_fifo. Talk to you all soon, Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100303/b315b00d/attachment.html From Suneel.Papineni at mettoni.com Fri Mar 5 03:04:05 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Fri, 5 Mar 2010 11:04:05 -0000 Subject: [Freeswitch-dev] Call transfer using eventsockets with FSComm Message-ID: <3181A30B8C35AB4AA8577B78DDF46138068F6214@nickel.mettonigroup.com> Hi, Is there a way to transfer call with FSComm. I tried different ways using eventsockets but failed. Tried the scenario as follows: Received a call from 1001 to FSComm (registered with 1002) and is answered (Unique-id is 784dd690-6d0a-47de-b5f4-b923264581a5). Made a call from FSComm to extension 1003 and is answered (Unique-id is ec7a3bdd-c265-41fb-8cef-b897d2e8bf62). Now I want to transfer this call to 1001 and FSComm should be out of loop. a. Tried with command "api uuid_transfer 784dd690-6d0a-47de-b5f4-b923264581a5 -both park inline" but failed. With this call at 1001 is dropped and call between FSComm and 1003 is still there. b. Tried with command "api uuid_bridge 784dd690-6d0a-47de-b5f4-b923264581a5 ec7a3bdd-c265-41fb-8cef-b897d2e8bf62". With this all calls are dropped. Could someone let me know if there is any procedure for call transfer (using event sockets). Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100305/2f9de1f9/attachment-0001.html From jmesquita at freeswitch.org Sun Mar 7 20:14:36 2010 From: jmesquita at freeswitch.org (=?ISO-8859-1?Q?Jo=E3o_Mesquita?=) Date: Mon, 8 Mar 2010 01:14:36 -0300 Subject: [Freeswitch-dev] Call transfer using eventsockets with FSComm In-Reply-To: <3181A30B8C35AB4AA8577B78DDF46138068F6214@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF46138068F6214@nickel.mettonigroup.com> Message-ID: A few logs for this would be just amazing so I can help figure this out. I am very interested at this process because when I can give FSComm some love, I will start implementing those types of features. Regards, Jo?o Mesquita On Fri, Mar 5, 2010 at 8:04 AM, Suneel Papineni wrote: > Hi, > > > > Is there a way to transfer call with FSComm. I tried different ways using > eventsockets but failed. > > > > Tried the scenario as follows: > > Received a call from 1001 to FSComm (registered with 1002) and is answered > (Unique-id is 784dd690-6d0a-47de-b5f4-b923264581a5). Made a call from FSComm > to extension 1003 and is answered (Unique-id is > ec7a3bdd-c265-41fb-8cef-b897d2e8bf62). Now I want to transfer this call to > 1001 and FSComm should be out of loop. > > > > a. Tried with command ?api uuid_transfer > 784dd690-6d0a-47de-b5f4-b923264581a5 ?both park inline? but failed. With > this call at 1001 is dropped and call between FSComm and 1003 is still > there. > > b. Tried with command ?api uuid_bridge > 784dd690-6d0a-47de-b5f4-b923264581a5 ec7a3bdd-c265-41fb-8cef-b897d2e8bf62?. > With this all calls are dropped. > > > > Could someone let me know if there is any procedure for call transfer > (using event sockets). > > > > Thanks & Regards > > Suneel > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > ************************************************************************* > > > _______________________________________________ > 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100308/25faac3a/attachment.html From jmesquita at freeswitch.org Sun Mar 7 20:18:59 2010 From: jmesquita at freeswitch.org (=?ISO-8859-1?Q?Jo=E3o_Mesquita?=) Date: Mon, 8 Mar 2010 01:18:59 -0300 Subject: [Freeswitch-dev] FSComm basic issue In-Reply-To: <3181A30B8C35AB4AA8577B78DDF4613806886903@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF4613806886903@nickel.mettonigroup.com> Message-ID: Sorry for the late reply. Was out of town... Inline... JM On Fri, Feb 26, 2010 at 1:59 PM, Suneel Papineni < Suneel.Papineni at mettoni.com> wrote: > Hi, > > > > I am trying to use FSComm with Freeswitch and facing following issues. > > > > 1. Using pre-build binary (windows), when the application is started > FSComm is getting Registered properly. When I tried to make a call, UI > displays Dialing... but unable to see any SIP (INVITE) messages in wireshark > traces. After sometime UI displays with message ?Call with (destination > number) failed with reason DESTINATION_OUT_OF_ORDER though destination > number is registered with another FSComm? > How exactly are you dialing from the UI? What version are you running? You can check the build on Help -> About > 2. Also I am unable to see any logs generated in the log folder. > > > What do you mean by unable? > Downloaded the latest source code (Freeswitch 1.0.5 latest updated as on > 26/02/10 at 4am) and tried to build FSComm. Build was succeeded. Application > (FSComm) also started and displayed with UI. When I try to change the > preferences, it has thrown Porta Audio Error saying ?Error Querying Audio > Devices? even though proper audio devices are present. > Have you checked if mod_portaudio was loaded? I still have to implement some error messages on startup when PA or the core does not load. > Also it doesn?t create folders like ?conf?, ?mod?. Even after copying all > the required dll?s and mod files (as specified in FSComm wiki pages), > application is throwing the same error. > That's why ppl have been packaging the Windows build. On Linux, we create all dirs just fine. I just checked. > > > I am using Windows XP machine. Built a Debug & Release version with 32-bit > option. > > If someone has built FSComm for windows environment and is working fine, > could you please let me know if there are any additional things I need to do > to make it work. > I will try to get myself built FSComm over Windows, but I have lousy skills on MSVS... jlenk was helping me out, will pick it up again to get code improved. > > > Thanks & Regards > > Suneel > > > > > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > ************************************************************************* > > > _______________________________________________ > 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100308/e2cb3e1c/attachment.html From rentmycoder at gmail.com Mon Mar 8 05:30:31 2010 From: rentmycoder at gmail.com (rentmycoder rentmycoder) Date: Mon, 8 Mar 2010 14:30:31 +0100 Subject: [Freeswitch-dev] mod lua session:bridged() not implemented? Message-ID: <50e456911003080530n4d02bee3y1d444e89719eb35a@mail.gmail.com> Hi Guys, Freeswitch rocks! According to the wiki page I could use (session:bridged() to check if session is bridged... http://wiki.freeswitch.org/wiki/Lua#session:bridged if (session:bridged() == true) do -- Do something end But in latest trunk session:bridged() retuns nil... If I list the session functions like this: http://wiki.freeswitch.org/wiki/Lua#How_can_I_find_useful_undocumented_Session_Functions.3F session:bridged is not in the list... Do you plan to implement this function? How can I detect a bridge on the other leg in lua? I need this to create an automatic predictive dialer, which dials customers and if the customer picks up the phone the lua script plays a message and transfers the other leg to an operator... I start the call using event-socket api originate and bridges the customer with a loopback lua script: "api originate {originate_timeout=30,origination_caller_id_number=3812345678}sofia/gateway/provider/12345789 '&lua(cc.lua predictive)'" In the lua script I would have to wait for the a-leg to bridge, how to achive this without session:bridged()? From gmaruzz at celliax.org Mon Mar 8 06:46:45 2010 From: gmaruzz at celliax.org (Giovanni Maruzzelli) Date: Mon, 8 Mar 2010 15:46:45 +0100 Subject: [Freeswitch-dev] mod_skypiax (skype endpoint) call for tests Message-ID: <7b197bef1003080646q91b6e25td5c719739ad8b5b4@mail.gmail.com> Hello FreeSWITCHers, it would be very useful if you could update to the latest svn and test mod_skypiax in your use cases, and report any problems. Please note that the wiki page http://wiki.freeswitch.org/wiki/Skypiax has been almost completely revamped, with complete coverage of the new options, channel variables, command line commands, events, installation, etc. Take the time to at least browse through it, because much new material has been added, that can spare you time and problems. Would be very useful if you report anything wrong, missing, or hard to understand in the wiki page itself too (btw, English is not my first language ;) ). Thanks in advance for your cooperation, that makes this community so nice a place to be in. -giovanni -- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618 From msc at freeswitch.org Mon Mar 8 09:33:42 2010 From: msc at freeswitch.org (Michael Collins) Date: Mon, 8 Mar 2010 09:33:42 -0800 Subject: [Freeswitch-dev] mod lua session:bridged() not implemented? In-Reply-To: <50e456911003080530n4d02bee3y1d444e89719eb35a@mail.gmail.com> References: <50e456911003080530n4d02bee3y1d444e89719eb35a@mail.gmail.com> Message-ID: <87f2f3b91003080933x754fb560v547a88d931467070@mail.gmail.com> I think you might be looking at the wrong tool. The session:bridged() method is for knowing if the current session is bridged to another leg. Tony says it has a very specific use case and I doubt that this is what they had in mind. If you're building a predictive dialer and you are generating the outbound call leg then you're most likely in need of knowing that the far end has answered. In a case like this I would build a dialplan extension and have the b leg drop in there. Then set execute_on_answer to your lua script. You could also use that dialplan to handle timeouts, call failures, etc. This way you're letting the dialplan do what it's good at and your Lua script can focus on the single task of handling an answered call... -MC On Mon, Mar 8, 2010 at 5:30 AM, rentmycoder rentmycoder < rentmycoder at gmail.com> wrote: > Hi Guys, > Freeswitch rocks! > > According to the wiki page I could use (session:bridged() to check if > session is bridged... > http://wiki.freeswitch.org/wiki/Lua#session:bridged > if (session:bridged() == true) do > -- Do something > end > But in latest trunk session:bridged() retuns nil... > > If I list the session functions like this: > > http://wiki.freeswitch.org/wiki/Lua#How_can_I_find_useful_undocumented_Session_Functions.3F > session:bridged is not in the list... > Do you plan to implement this function? > > How can I detect a bridge on the other leg in lua? > > I need this to create an automatic predictive dialer, which dials > customers and if the customer picks up the phone the lua script plays > a message and transfers the other leg to an operator... > I start the call using event-socket api originate and bridges the > customer with a loopback lua script: > "api originate > {originate_timeout=30,origination_caller_id_number=3812345678}sofia/gateway/provider/12345789 > '&lua(cc.lua predictive)'" > In the lua script I would have to wait for the a-leg to bridge, how to > achive this without session:bridged()? > > _______________________________________________ > 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100308/b98661cb/attachment-0001.html From rentmycoder at gmail.com Mon Mar 8 10:06:17 2010 From: rentmycoder at gmail.com (rentmycoder rentmycoder) Date: Mon, 8 Mar 2010 19:06:17 +0100 Subject: [Freeswitch-dev] mod lua session:bridged() not implemented? Message-ID: <50e456911003081006g7ce1151fo285660906cdbaab7@mail.gmail.com> Yes you are absolutelly right, maybe I might be looking at the wrong tool... I have tried several approaches but haven't found the right one... I don't only need to detect if a call was answered, but I need also to detect and log the failure cause in case the call was not answered. Which usually can be found in the originate_disposition variable... If I use a socket command: "bgapi originate {ignore_early_media=true,originate_timeout=10,api_hangup_hook='luarun cc.lua predictive_hangup'}sofia/gateway/gwname/13246789 9999" I cannot detect the originate_disposition variable in predictive_hangup() in lua, becouse the session is nil after hangup... I think I should start dialing out from the dialplan, but in this case how to call to the dialplan using sockets? I've tried: "bgapi originate {phoneno=13246789}loopback/9999" with no success... What do you suggest? Is it possible to get this working only with 2 call legs??? I think you might be looking at the wrong tool. The session:bridged() method is for knowing if the current session is bridged to another leg. Tony says it has a very specific use case and I doubt that this is what they had in mind. If you're building a predictive dialer and you are generating the outbound call leg then you're most likely in need of knowing that the far end has answered. In a case like this I would build a dialplan extension and have the b leg drop in there. Then set execute_on_answer to your lua script. You could also use that dialplan to handle timeouts, call failures, etc. This way you're letting the dialplan do what it's good at and your Lua script can focus on the single task of handling an answered call... -MC From Suneel.Papineni at mettoni.com Tue Mar 9 02:44:10 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Tue, 9 Mar 2010 10:44:10 -0000 Subject: [Freeswitch-dev] FSComm basic issue In-Reply-To: References: <3181A30B8C35AB4AA8577B78DDF4613806886903@nickel.mettonigroup.com> Message-ID: <3181A30B8C35AB4AA8577B78DDF46138068F6893@nickel.mettonigroup.com> Hi Jo, This time I got the logs for call transfer issue... FYI, I am running the application in Windows XP system. I have connected to FSComm through Event Socket connection and sending commands as there is no option with FSComm as of now. a. For the first scenario, I made a call from 33004 (an extension) to FSComm (registered as 33001) and answered. Now from FSComm another call is made to an extension 35011. With this 33004 was put on music on hold and call is there between FSComm and 35011. I want to transfer this call, so that call will be there between 33004 and 35011. (FSComm will be out of loop) For this I issued the following command "api uuid_transfer b50b2200-9928-4a4c-8198-4b61b69fb38f - both park inline" After issuing this command call transfer is not done. Active call was in between FSComm and 35011. Music on Hold on 33004 was stopped, but call was not disconnected (When I checked with "pa list" command, it shown call with 33004 is on hold). Please find attached log for this in Freeswitch_uuid_transfer.log b. In the second scenario, I issues bridge command as "api uuid_bridge . After issuing this command, Call between FSComm and 35011 is disconnected and active call is there between FSComm and 33004. Respective logs are attached (Freeswitch_uuid_bridge.log) Please let me know if I need to change some thing at dial-plan in Freeswitch.xml Right now I added the "red" colored lines in the dial-plan (I think I am wrong here). Please let me know if this is wrong and suggest me what needs to done. Thanks & Regards Suneel From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Jo?o Mesquita Sent: 08 March 2010 04:19 To: freeswitch-dev at lists.freeswitch.org Cc: freeswitch-users at lists.freeswitch.org Subject: Re: [Freeswitch-dev] FSComm basic issue Sorry for the late reply. Was out of town... Inline... JM On Fri, Feb 26, 2010 at 1:59 PM, Suneel Papineni wrote: Hi, I am trying to use FSComm with Freeswitch and facing following issues. 1. Using pre-build binary (windows), when the application is started FSComm is getting Registered properly. When I tried to make a call, UI displays Dialing... but unable to see any SIP (INVITE) messages in wireshark traces. After sometime UI displays with message "Call with (destination number) failed with reason DESTINATION_OUT_OF_ORDER though destination number is registered with another FSComm" How exactly are you dialing from the UI? What version are you running? You can check the build on Help -> About 2. Also I am unable to see any logs generated in the log folder. What do you mean by unable? Downloaded the latest source code (Freeswitch 1.0.5 latest updated as on 26/02/10 at 4am) and tried to build FSComm. Build was succeeded. Application (FSComm) also started and displayed with UI. When I try to change the preferences, it has thrown Porta Audio Error saying "Error Querying Audio Devices" even though proper audio devices are present. Have you checked if mod_portaudio was loaded? I still have to implement some error messages on startup when PA or the core does not load. Also it doesn't create folders like "conf", "mod". Even after copying all the required dll's and mod files (as specified in FSComm wiki pages), application is throwing the same error. That's why ppl have been packaging the Windows build. On Linux, we create all dirs just fine. I just checked. I am using Windows XP machine. Built a Debug & Release version with 32-bit option. If someone has built FSComm for windows environment and is working fine, could you please let me know if there are any additional things I need to do to make it work. I will try to get myself built FSComm over Windows, but I have lousy skills on MSVS... jlenk was helping me out, will pick it up again to get code improved. Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* _______________________________________________ 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 ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100309/0f7e50d3/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: freeswitch_uuid_transfer.log Type: application/octet-stream Size: 89615 bytes Desc: freeswitch_uuid_transfer.log Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100309/0f7e50d3/attachment-0002.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: freeswitch_uuid_bridge.log Type: application/octet-stream Size: 98961 bytes Desc: freeswitch_uuid_bridge.log Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100309/0f7e50d3/attachment-0003.obj From brian at freeswitch.org Tue Mar 9 06:21:58 2010 From: brian at freeswitch.org (Brian West) Date: Tue, 9 Mar 2010 08:21:58 -0600 Subject: [Freeswitch-dev] FSComm basic issue In-Reply-To: <3181A30B8C35AB4AA8577B78DDF46138068F6893@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF4613806886903@nickel.mettonigroup.com> <3181A30B8C35AB4AA8577B78DDF46138068F6893@nickel.mettonigroup.com> Message-ID: All this goes on jira.freeswitch.org under FSCOMM. /b On Mar 9, 2010, at 4:44 AM, Suneel Papineni wrote: > Hi Jo, -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100309/6138a80b/attachment.html From m.sobkow at marketelsystems.com Tue Mar 9 08:12:47 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Tue, 09 Mar 2010 10:12:47 -0600 Subject: [Freeswitch-dev] Problem with call recording Message-ID: <4B96737F.9030305@marketelsystems.com> I'm having a problem with call recording. I tell Freeswitch to record a call to a file, and it responds ok, and the file shows up on the file system. I later tell Freeswitch to stop recording, and it returns ok, but the file keeps growing as it doesn't actually stop recording. As a result, any subsequent attempts to start recording the session to a different file name fails. In my case, an operator is logged in to the phone system and receiving calls from customers or from automated callbacks (if the customer didn't want to wait.) So I don't need to record the entire operator session, just _segments_ of it. -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow at marketelsystems.com Web: http://www.marketelsystems.com From brian at freeswitch.org Tue Mar 9 08:17:42 2010 From: brian at freeswitch.org (Brian West) Date: Tue, 9 Mar 2010 10:17:42 -0600 Subject: [Freeswitch-dev] Problem with call recording In-Reply-To: <4B96737F.9030305@marketelsystems.com> References: <4B96737F.9030305@marketelsystems.com> Message-ID: <8D801943-7D35-4A54-8B26-791AE3333605@freeswitch.org> Mark, Bug reports belong on Jira. http://jira.freeswitch.org /b On Mar 9, 2010, at 10:12 AM, Mark Sobkow wrote: > I'm having a problem with call recording. I tell Freeswitch to record a > call to a file, and it responds ok, and the file shows up on the file > system. I later tell Freeswitch to stop recording, and it returns ok, > but the file keeps growing as it doesn't actually stop recording. > > As a result, any subsequent attempts to start recording the session to a > different file name fails. > > In my case, an operator is logged in to the phone system and receiving > calls from customers or from automated callbacks (if the customer didn't > want to wait.) So I don't need to record the entire operator session, > just _segments_ of it. From brian at freeswitch.org Tue Mar 9 08:48:47 2010 From: brian at freeswitch.org (Brian West) Date: Tue, 9 Mar 2010 10:48:47 -0600 Subject: [Freeswitch-dev] Problem with call recording In-Reply-To: <4B96737F.9030305@marketelsystems.com> References: <4B96737F.9030305@marketelsystems.com> Message-ID: <029D61D2-0C59-4087-BFD6-814DC1988A56@freeswitch.org> Please provide the exact steps you're doing to reproduce this. I'm doing this with uuid_record and starting and stopping it fine and it doesn't error out. So include the version, exact rev and all the info in great detail about how you're doing this. /b On Mar 9, 2010, at 10:12 AM, Mark Sobkow wrote: > I'm having a problem with call recording. I tell Freeswitch to record a > call to a file, and it responds ok, and the file shows up on the file > system. I later tell Freeswitch to stop recording, and it returns ok, > but the file keeps growing as it doesn't actually stop recording. > > As a result, any subsequent attempts to start recording the session to a > different file name fails. > > In my case, an operator is logged in to the phone system and receiving > calls from customers or from automated callbacks (if the customer didn't > want to wait.) So I don't need to record the entire operator session, > just _segments_ of it. From msc at freeswitch.org Tue Mar 9 11:32:34 2010 From: msc at freeswitch.org (Michael Collins) Date: Tue, 9 Mar 2010 11:32:34 -0800 Subject: [Freeswitch-dev] mod lua session:bridged() not implemented? In-Reply-To: <50e456911003081006g7ce1151fo285660906cdbaab7@mail.gmail.com> References: <50e456911003081006g7ce1151fo285660906cdbaab7@mail.gmail.com> Message-ID: <87f2f3b91003091132t3b57ec27u7d0f6d538535f8eb@mail.gmail.com> On Mon, Mar 8, 2010 at 10:06 AM, rentmycoder rentmycoder < rentmycoder at gmail.com> wrote: > Yes you are absolutelly right, maybe I might be looking at the wrong > tool... > I have tried several approaches but haven't found the right one... > I don't only need to detect if a call was answered, but I need also to > detect and log the failure cause > in case the call was not answered. Which usually can be found in the > originate_disposition variable... > > If I use a socket command: > "bgapi originate > {ignore_early_media=true,originate_timeout=10,api_hangup_hook='luarun > cc.lua predictive_hangup'}sofia/gateway/gwname/13246789 9999" > I cannot detect the originate_disposition variable in > predictive_hangup() in lua, becouse the session is nil after hangup... > > I think I should start dialing out from the dialplan, but in this case > how to call to the dialplan using sockets? > I've tried: > "bgapi originate {phoneno=13246789}loopback/9999" > with no success... > > What do you suggest? > Is it possible to get this working only with 2 call legs??? > It's been a while but I did this with two call legs a few years back. I was using OpenZAP but the principles are the same: use the dialplan to process the calls and if the call is answered you launch a script (or in my case, transfer to a different dp extension) otherwise you wait for the call to timeout. It might be easier to discuss this in realtime on IRC, or you could call the public conference tomorrow and after the main agenda and Mathieu's mod_sofia presentation there will be an open floor for people to ask questions and discuss FreeSWITCH topics. -MC -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100309/c3837265/attachment.html From msc at freeswitch.org Tue Mar 9 22:50:59 2010 From: msc at freeswitch.org (Michael Collins) Date: Tue, 9 Mar 2010 22:50:59 -0800 Subject: [Freeswitch-dev] FreeSWITCH Conference Call Agenda Message-ID: <87f2f3b91003092250r6c32860ctde57e87563975f10@mail.gmail.com> Hello all! The FreeSWITCH weekly conference call agenda is here: http://wiki.freeswitch.org/wiki/FS_weekly_2010_03_10 Please feel free to add your questions and agenda items. Also, remember that this week Mathieu Rene is going to be spending a lot of time discussing mod_sofia and how it works. It should be a very informative discussion! By all means join us at 1700 GMT on Wednesday. -Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100309/2e351f8f/attachment.html From james.gledhill at sipstorm.com Wed Mar 10 09:23:42 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Wed, 10 Mar 2010 12:23:42 -0500 Subject: [Freeswitch-dev] error events for failed calls using 'conference conf_name bgdial sofia/ip/user' Message-ID: My goals are: 1) To get ?start-talking? and ?stop-talking? events during Early Media (before the call is answered) as well as after the call is answered. 2) If there are problems with the call, get events that tell me why the call failed. The way I am doing it accomplishes the start/stop talking (in early media) BUT if the call fails, I do not get events back letting me know it failed and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had the UUID, I could match against, but at this point in the call I do NOT have that UUID AND when setting the UUID via ?origination_uuid=my_uuid_my_uuid_my_test_uuid?, my UUID has not yet been set, so as far as I can tell there is no way to match those events with details my application has at the time. The console shows the errors (Below are two examples of calls that failed in I entered ?bad? sofia locations), but they do not come back as events. 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] So ? I am wondering is there a better/different way to do it, is there a work-around, should I get events to tell me the dial had problems, etc. I am using esl/lua and esl/java to experiment with this. Both get the same results (as I would expect). I have had this as a ~take-a-number on IRC for about a week, so I thought I would add more detail and open it up to this group. I realize many of the same people do both, but hoped more eyes may look at it here and give thoughts. ===== From Pastebin ==== I am not getting 'error' events in ESL [that match a UUID I can track] when there is a problem with conference dial sofia/myip/1006, so I can not tell what went wrong. Is there a work-around? I start a call in a conference from ESL (conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.232/1006) If the 'dial' works (meaning does not get an error) then I get the events I want and expect. If it errors (not able to make the call ( [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not get any events that tell me something went wrong. Is there a work-around for this? ===================== LUA Code run from ./freeswitch.trunk/libs/esl/lua #!/usr/local/bin/lua require("ESL") myip = "10.50.48.239" -- change this to your IP address myExt = 1006 -- change to one that is registered, then rerun with an unregistered con = ESL.ESLconnection("localhost", "8021", "ClueCon"); str = string.format("conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) con:sendRecv("event plain ALL") ff = con:api( str ) print("** sent " .. str ) print( (ff and ff:getBody() or "no body" )) cnt = 0 while cnt <= 30 do print("loop = " .. cnt ) cnt = cnt + 1 ev = con:recvEventTimed(1000) print( ev and ev:serialize("plain") or "no event this time" ) end ============== The printout is : ** sent conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 loop = 0 Event-Name: CHANNEL_DESTROY Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_core_session.c Event-Calling-Function: switch_core_session_perform_destroy Event-Calling-Line-Number: 1051 Channel-State: CS_NEW Channel-State-Number: 0 Channel-Name: N/A Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: ringing loop = 1 Event-Name: CHANNEL_STATE Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_channel.c Event-Calling-Function: switch_channel_perform_set_running_state Event-Calling-Line-Number: 1301 Channel-State: CS_DESTROY Channel-State-Number: 12 Channel-Name: _undef_ Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: ringing loop = 2 Event-Name: API Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_loadable_module.c Event-Calling-Function: switch_api_execute Event-Calling-Line-Number: 1581 API-Command: conference API-Command-Argument: conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_test_uuid%5Dsofia/10.50.48.239/1006%20 loop = 3 no event this time loop = 4 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/de4773a9/attachment-0001.html From brian at freeswitch.org Wed Mar 10 10:04:52 2010 From: brian at freeswitch.org (Brian West) Date: Wed, 10 Mar 2010 12:04:52 -0600 Subject: [Freeswitch-dev] error events for failed calls using 'conference conf_name bgdial sofia/ip/user' In-Reply-To: References: Message-ID: <4709386B-A9F7-40CD-9F9A-A0705DA8AAD0@freeswitch.org> http://wiki.freeswitch.org/wiki/Dialplan_XML#SIP-Specific_Dialstrings Please read that there is no such thing as sofia/ip/user (unless the ip is an alias on the profile) /b On Mar 10, 2010, at 11:23 AM, Gledhill, James wrote: > > My goals are: > 1) To get ?start-talking? and ?stop-talking? events during Early Media (before the call is answered) as well as after the call is answered. > 2) If there are problems with the call, get events that tell me why the call failed. > > The way I am doing it accomplishes the start/stop talking (in early media) BUT if the call fails, I do not get events back letting me know it failed and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had the UUID, I could match against, but at this point in the call I do NOT have that UUID AND when setting the UUID via ?origination_uuid=my_uuid_my_uuid_my_test_uuid?, my UUID has not yet been set, so as far as I can tell there is no way to match those events with details my application has at the time. > > The console shows the errors (Below are two examples of calls that failed in I entered ?bad? sofia locations), but they do not come back as events. > 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] > 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] > > So ? I am wondering is there a better/different way to do it, is there a work-around, should I get events to tell me the dial had problems, etc. > > I am using esl/lua and esl/java to experiment with this. Both get the same results (as I would expect). > > I have had this as a ~take-a-number on IRC for about a week, so I thought I would add more detail and open it up to this group. I realize many of the same people do both, but hoped more eyes may look at it here and give thoughts. > > > ===== From Pastebin ==== > > I am not getting 'error' events in ESL [that match a UUID I can track] when there is a problem with conference dial sofia/myip/1006, so I can not tell what went wrong. Is there a work-around? > > I start a call in a conference from ESL (conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.232/1006) > > If the 'dial' works (meaning does not get an error) then I get the events I want and expect. If it errors (not able to make the call ( [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not get any events that tell me something went wrong. > > Is there a work-around for this? > > ===================== > LUA Code run from ./freeswitch.trunk/libs/esl/lua > > #!/usr/local/bin/lua > require("ESL") > > myip = "10.50.48.239" -- change this to your IP address > myExt = 1006 -- change to one that is registered, then rerun with an unregistered > > con = ESL.ESLconnection("localhost", "8021", "ClueCon"); > > str = string.format("conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) > > con:sendRecv("event plain ALL") > > > ff = con:api( str ) > > print("** sent " .. str ) > > print( (ff and ff:getBody() or "no body" )) > > cnt = 0 > while cnt <= 30 do > > print("loop = " .. cnt ) > cnt = cnt + 1 > ev = con:recvEventTimed(1000) > print( ev and ev:serialize("plain") or "no event this time" ) > > end > > ============== > > The printout is : > > ** sent conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 > OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 > > loop = 0 > Event-Name: CHANNEL_DESTROY > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > FreeSWITCH-IPv4: 10.50.48.232 > FreeSWITCH-IPv6: %3A%3A1 > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > Event-Date-Timestamp: 1267826812571550 > Event-Calling-File: switch_core_session.c > Event-Calling-Function: switch_core_session_perform_destroy > Event-Calling-Line-Number: 1051 > Channel-State: CS_NEW > Channel-State-Number: 0 > Channel-Name: N/A > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > Call-Direction: outbound > Presence-Call-Direction: outbound > Answer-State: ringing > > > loop = 1 > Event-Name: CHANNEL_STATE > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > FreeSWITCH-IPv4: 10.50.48.232 > FreeSWITCH-IPv6: %3A%3A1 > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > Event-Date-Timestamp: 1267826812571550 > Event-Calling-File: switch_channel.c > Event-Calling-Function: switch_channel_perform_set_running_state > Event-Calling-Line-Number: 1301 > Channel-State: CS_DESTROY > Channel-State-Number: 12 > Channel-Name: _undef_ > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > Call-Direction: outbound > Presence-Call-Direction: outbound > Answer-State: ringing > > > loop = 2 > Event-Name: API > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > FreeSWITCH-IPv4: 10.50.48.232 > FreeSWITCH-IPv6: %3A%3A1 > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > Event-Date-Timestamp: 1267826812571550 > Event-Calling-File: switch_loadable_module.c > Event-Calling-Function: switch_api_execute > Event-Calling-Line-Number: 1581 > API-Command: conference > API-Command-Argument: conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_test_uuid%5Dsofia/10.50.48.239/1006%20 > > > loop = 3 > no event this time > loop = 4 > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/0fea3237/attachment-0001.html From anthony.minessale at gmail.com Wed Mar 10 10:15:30 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Wed, 10 Mar 2010 12:15:30 -0600 Subject: [Freeswitch-dev] error events for failed calls using 'conference conf_name bgdial sofia/ip/user' In-Reply-To: <4709386B-A9F7-40CD-9F9A-A0705DA8AAD0@freeswitch.org> References: <4709386B-A9F7-40CD-9F9A-A0705DA8AAD0@freeswitch.org> Message-ID: <191c3a031003101015i17f350fanccbe6e8d2f60f7d0@mail.gmail.com> consider api originate conference conf_uuid-TEST_CONF inline this returns success+uuid or fail On Wed, Mar 10, 2010 at 12:04 PM, Brian West wrote: > http://wiki.freeswitch.org/wiki/Dialplan_XML#SIP-Specific_Dialstrings > > Please read that there is no such thing as sofia/ip/user (unless the ip is > an alias on the profile) > > /b > > On Mar 10, 2010, at 11:23 AM, Gledhill, James wrote: > > > > My goals are: > > 1) To get ?start-talking? and ?stop-talking? events during Early > Media (before the call is answered) as well as after the call is answered. > > 2) If there are problems with the call, get events that tell me why > the call failed. > > > > The way I am doing it accomplishes the start/stop talking (in early media) > BUT if the call fails, I do not get events back letting me know it failed > and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had > the UUID, I could match against, but at this point in the call I do NOT have > that UUID AND when setting the UUID via > ?origination_uuid=my_uuid_my_uuid_my_test_uuid?, my UUID has not yet been > set, so as far as I can tell there is no way to match those events with > details my application has at the time. > > > > The console shows the errors (Below are two examples of calls that failed > in I entered ?bad? sofia locations), but they do not come back as events. > > 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create > outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] > > 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create > outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] > > > > So ? I am wondering is there a better/different way to do it, is there a > work-around, should I get events to tell me the dial had problems, etc. > > > > I am using esl/lua and esl/java to experiment with this. Both get the same > results (as I would expect). > > > > I have had this as a ~take-a-number on IRC for about a week, so I thought I > would add more detail and open it up to this group. I realize many of the > same people do both, but hoped more eyes may look at it here and give > thoughts. > > > > > > ===== From Pastebin ==== > > > > I am not getting 'error' events in ESL [that match a UUID I can track] when > there is a problem with conference dial sofia/myip/1006, so I > can not tell what went wrong. Is there a work-around? > > > > I start a call in a conference from ESL (conference conf_uuid-TEST_CONF > bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/ > 10.50.48.232/1006) > > > > If the 'dial' works (meaning does not get an error) then I get the events > I want and expect. If it errors (not able to make the call ( > [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not > get any events that tell me something went wrong. > > > > Is there a work-around for this? > > > > ===================== > > LUA Code run from ./freeswitch.trunk/libs/esl/lua > > > > #!/usr/local/bin/lua > > require("ESL") > > > > myip = "10.50.48.239" -- change this to your IP address > > myExt = 1006 -- change to one that is registered, then rerun with an > unregistered > > > > con = ESL.ESLconnection("localhost", "8021", "ClueCon"); > > > > str = string.format("conference conf_uuid-TEST_CONF bgdial > [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) > > > > con:sendRecv("event plain ALL") > > > > > > ff = con:api( str ) > > > > print("** sent " .. str ) > > > > print( (ff and ff:getBody() or "no body" )) > > > > cnt = 0 > > while cnt <= 30 do > > > > print("loop = " .. cnt ) > > cnt = cnt + 1 > > ev = con:recvEventTimed(1000) > > print( ev and ev:serialize("plain") or "no event this time" ) > > > > end > > > > ============== > > > > The printout is : > > > > ** sent conference conf_uuid-TEST_CONF bgdial > [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 > > OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 > > > > loop = 0 > > Event-Name: CHANNEL_DESTROY > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_core_session.c > > Event-Calling-Function: switch_core_session_perform_destroy > > Event-Calling-Line-Number: 1051 > > Channel-State: CS_NEW > > Channel-State-Number: 0 > > Channel-Name: N/A > > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: ringing > > > > > > loop = 1 > > Event-Name: CHANNEL_STATE > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_channel.c > > Event-Calling-Function: switch_channel_perform_set_running_state > > Event-Calling-Line-Number: 1301 > > Channel-State: CS_DESTROY > > Channel-State-Number: 12 > > Channel-Name: _undef_ > > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: ringing > > > > > > loop = 2 > > Event-Name: API > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_loadable_module.c > > Event-Calling-Function: switch_api_execute > > Event-Calling-Line-Number: 1581 > > API-Command: conference > > API-Command-Argument: > conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_test_uuid%5Dsofia/ > 10.50.48.239/1006%20 > > > > > > loop = 3 > > no event this time > > loop = 4 > _______________________________________________ > 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 > > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/52c06ce6/attachment-0001.html From james.gledhill at sipstorm.com Wed Mar 10 11:29:43 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Wed, 10 Mar 2010 14:29:43 -0500 Subject: [Freeswitch-dev] error events for failed calls using'conference conf_name bgdial sofia/ip/user' In-Reply-To: <191c3a031003101015i17f350fanccbe6e8d2f60f7d0@mail.gmail.com> Message-ID: Anthony - The problem with api originate conference conf_uuid-TEST_CONF inline is that it does not return until after the call is answered - so I do not have events during early media. I did try to add {ignore_early_media=true} but it still did not return until after I answered the phone (using esl lua for this test) I also tried "bgapi originate {ignore_early_media=true,origination_uuid=my_uuid_my_uuid_my_test_uuid}s ofia/internal/+18015551212 at 10.50.40.50:5060 &conference(conf_uuid-TEST_CONF) inline", (I used a different TN, but changed it for privacy) which makes the call and returns events before I answer the call, BUT the conf bridge does not get involved (called) until AFTER the origination call is answered. Neither of these allows me to get "start-talking" and "stop-talking" events during Early Media from the conf bridge because the conference is not involved during the early media part of the call. Brian - I should have been more detailed in my sofia string in the subject. I am aware that sofia/ip/user is not valid. Two examples sofia string I use are below. * If I used sofia/10.50.48.222/1002 AND that user is registered and answers, then all works well. If that user is not registered, I need to get USER_NOT_REGISTERED * If I use sofia/internal/+18015 at 10.50.40.50 (which is not a valid E.164 TN) then I should get DESTINATION_OUT_OF_ORDER or some other error message. ________________________________ From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: Wednesday, March 10, 2010 12:16 PM To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] error events for failed calls using'conference conf_name bgdial sofia/ip/user' consider api originate conference conf_uuid-TEST_CONF inline this returns success+uuid or fail On Wed, Mar 10, 2010 at 12:04 PM, Brian West wrote: http://wiki.freeswitch.org/wiki/Dialplan_XML#SIP-Specific_Dialstrings Please read that there is no such thing as sofia/ip/user (unless the ip is an alias on the profile) /b On Mar 10, 2010, at 11:23 AM, Gledhill, James wrote: My goals are: 1) To get "start-talking" and "stop-talking" events during Early Media (before the call is answered) as well as after the call is answered. 2) If there are problems with the call, get events that tell me why the call failed. The way I am doing it accomplishes the start/stop talking (in early media) BUT if the call fails, I do not get events back letting me know it failed and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had the UUID, I could match against, but at this point in the call I do NOT have that UUID AND when setting the UUID via "origination_uuid=my_uuid_my_uuid_my_test_uuid", my UUID has not yet been set, so as far as I can tell there is no way to match those events with details my application has at the time. The console shows the errors (Below are two examples of calls that failed in I entered "bad" sofia locations), but they do not come back as events. 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] So ... I am wondering is there a better/different way to do it, is there a work-around, should I get events to tell me the dial had problems, etc. I am using esl/lua and esl/java to experiment with this. Both get the same results (as I would expect). I have had this as a ~take-a-number on IRC for about a week, so I thought I would add more detail and open it up to this group. I realize many of the same people do both, but hoped more eyes may look at it here and give thoughts. ===== From Pastebin ==== I am not getting 'error' events in ESL [that match a UUID I can track] when there is a problem with conference dial sofia/myip/1006, so I can not tell what went wrong. Is there a work-around? I start a call in a conference from ESL (conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.232/1006) If the 'dial' works (meaning does not get an error) then I get the events I want and expect. If it errors (not able to make the call ( [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not get any events that tell me something went wrong. Is there a work-around for this? ===================== LUA Code run from ./freeswitch.trunk/libs/esl/lua #!/usr/local/bin/lua require("ESL") myip = "10.50.48.239" -- change this to your IP address myExt = 1006 -- change to one that is registered, then rerun with an unregistered con = ESL.ESLconnection("localhost", "8021", "ClueCon"); str = string.format("conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) con:sendRecv("event plain ALL") ff = con:api( str ) print("** sent " .. str ) print( (ff and ff:getBody() or "no body" )) cnt = 0 while cnt <= 30 do print("loop = " .. cnt ) cnt = cnt + 1 ev = con:recvEventTimed(1000) print( ev and ev:serialize("plain") or "no event this time" ) end ============== The printout is : ** sent conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 loop = 0 Event-Name: CHANNEL_DESTROY Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_core_session.c Event-Calling-Function: switch_core_session_perform_destroy Event-Calling-Line-Number: 1051 Channel-State: CS_NEW Channel-State-Number: 0 Channel-Name: N/A Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: ringing loop = 1 Event-Name: CHANNEL_STATE Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_channel.c Event-Calling-Function: switch_channel_perform_set_running_state Event-Calling-Line-Number: 1301 Channel-State: CS_DESTROY Channel-State-Number: 12 Channel-Name: _undef_ Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: ringing loop = 2 Event-Name: API Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_loadable_module.c Event-Calling-Function: switch_api_execute Event-Calling-Line-Number: 1581 API-Command: conference API-Command-Argument: conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_ test_uuid%5Dsofia/10.50.48.239/1006%20 loop = 3 no event this time loop = 4 _______________________________________________ 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 _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/fe6a7229/attachment-0001.html From anthony.minessale at gmail.com Wed Mar 10 12:35:50 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Wed, 10 Mar 2010 14:35:50 -0600 Subject: [Freeswitch-dev] error events for failed calls using'conference conf_name bgdial sofia/ip/user' In-Reply-To: References: <191c3a031003101015i17f350fanccbe6e8d2f60f7d0@mail.gmail.com> Message-ID: <191c3a031003101235x4f7ad90dn6dd141d5a4dcaedb@mail.gmail.com> Some of your findings are incorrect. The default behavior of originate is to return as soon as there is early media. (sip 183) Adding ignore_early_media=true is the opposite effect so you do not want that. bgapi just does the command in a separate thread so you don't want that either. *api originate conference conf_uuid-TEST_CONF inline* will put the call in the conference the very instant it sees a 183 If you see anything other than this, make sure you are on latest trunk and do a console trace demonstrating otherwise. use these commands for more details. console loglevel debug sofia profile internal siptrace on On Wed, Mar 10, 2010 at 1:29 PM, Gledhill, James < james.gledhill at sipstorm.com> wrote: > Anthony ? > > > > The problem with *api originate conference > conf_uuid-TEST_CONF inline* is that it does not return until after the > call is answered ? so I do not have events during early media. I did try to > add *{ignore_early_media=true}* but it still did not return until after I > answered the phone (using esl lua for this test) > > > > I also tried "*bgapi originate > {ignore_early_media=true,origination_uuid=my_uuid_my_uuid_my_test_uuid}sofia/internal/+ > 18015551212 at 10.50.40.50:5060 &conference(conf_uuid-TEST_CONF) inline*?, (I > used a different TN, but changed it for privacy) which makes the call and > returns events before I answer the call, BUT the conf bridge does not get > involved (called) until AFTER the origination call is answered. > > > > Neither of these allows me to get ?start-talking? and ?stop-talking? events > during Early Media from the conf bridge because the conference is not > involved during the early media part of the call. > > > > Brian ? > > > > I should have been more detailed in my sofia string in the subject. I am > aware that sofia/ip/user is not valid. Two examples sofia string I use are > below.** > > * If I used sofia/10.50.48.222/1002 AND that user is registered and > answers, then all works well. If that user is not registered, I need to get > USER_NOT_REGISTERED > > * If I use sofia/internal/+18015 at 10.50.40.50 (which is not a valid E.164 > TN) then I should get DESTINATION_OUT_OF_ORDER or some other error message. > > > > > ------------------------------ > > *From:* freeswitch-dev-bounces at lists.freeswitch.org [mailto: > freeswitch-dev-bounces at lists.freeswitch.org] *On Behalf Of *Anthony > Minessale > *Sent:* Wednesday, March 10, 2010 12:16 PM > *To:* freeswitch-dev at lists.freeswitch.org > *Subject:* Re: [Freeswitch-dev] error events for failed calls > using'conference conf_name bgdial sofia/ip/user' > > > > consider > > api originate conference conf_uuid-TEST_CONF inline > > this returns success+uuid or fail > > On Wed, Mar 10, 2010 at 12:04 PM, Brian West > wrote: > > http://wiki.freeswitch.org/wiki/Dialplan_XML#SIP-Specific_Dialstrings > > > > Please read that there is no such thing as sofia/ip/user (unless the ip is > an alias on the profile) > > > > /b > > > > On Mar 10, 2010, at 11:23 AM, Gledhill, James wrote: > > > > > > My goals are: > > 1) To get ?start-talking? and ?stop-talking? events during Early > Media (before the call is answered) as well as after the call is answered. > > 2) If there are problems with the call, get events that tell me why > the call failed. > > > > The way I am doing it accomplishes the start/stop talking (in early media) > BUT if the call fails, I do not get events back letting me know it failed > and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had > the UUID, I could match against, but at this point in the call I do NOT have > that UUID AND when setting the UUID via > ?origination_uuid=my_uuid_my_uuid_my_test_uuid?, my UUID has not yet been > set, so as far as I can tell there is no way to match those events with > details my application has at the time. > > > > The console shows the errors (Below are two examples of calls that failed > in I entered ?bad? sofia locations), but they do not come back as events. > > 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create > outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] > > 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create > outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] > > > > So ? I am wondering is there a better/different way to do it, is there a > work-around, should I get events to tell me the dial had problems, etc. > > > > I am using esl/lua and esl/java to experiment with this. Both get the same > results (as I would expect). > > > > I have had this as a ~take-a-number on IRC for about a week, so I thought I > would add more detail and open it up to this group. I realize many of the > same people do both, but hoped more eyes may look at it here and give > thoughts. > > > > > > ===== From Pastebin ==== > > > > I am not getting 'error' events in ESL [that match a UUID I can track] when > there is a problem with conference dial sofia/myip/1006, so I > can not tell what went wrong. Is there a work-around? > > > > I start a call in a conference from ESL (conference conf_uuid-TEST_CONF > bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/ > 10.50.48.232/1006) > > > > If the 'dial' works (meaning does not get an error) then I get the events > I want and expect. If it errors (not able to make the call ( > [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not > get any events that tell me something went wrong. > > > > Is there a work-around for this? > > > > ===================== > > LUA Code run from ./freeswitch.trunk/libs/esl/lua > > > > #!/usr/local/bin/lua > > require("ESL") > > > > myip = "10.50.48.239" -- change this to your IP address > > myExt = 1006 -- change to one that is registered, then rerun with an > unregistered > > > > con = ESL.ESLconnection("localhost", "8021", "ClueCon"); > > > > str = string.format("conference conf_uuid-TEST_CONF bgdial > [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) > > > > con:sendRecv("event plain ALL") > > > > > > ff = con:api( str ) > > > > print("** sent " .. str ) > > > > print( (ff and ff:getBody() or "no body" )) > > > > cnt = 0 > > while cnt <= 30 do > > > > print("loop = " .. cnt ) > > cnt = cnt + 1 > > ev = con:recvEventTimed(1000) > > print( ev and ev:serialize("plain") or "no event this time" ) > > > > end > > > > ============== > > > > The printout is : > > > > ** sent conference conf_uuid-TEST_CONF bgdial > [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 > > OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 > > > > loop = 0 > > Event-Name: CHANNEL_DESTROY > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_core_session.c > > Event-Calling-Function: switch_core_session_perform_destroy > > Event-Calling-Line-Number: 1051 > > Channel-State: CS_NEW > > Channel-State-Number: 0 > > Channel-Name: N/A > > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: ringing > > > > > > loop = 1 > > Event-Name: CHANNEL_STATE > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_channel.c > > Event-Calling-Function: switch_channel_perform_set_running_state > > Event-Calling-Line-Number: 1301 > > Channel-State: CS_DESTROY > > Channel-State-Number: 12 > > Channel-Name: _undef_ > > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: ringing > > > > > > loop = 2 > > Event-Name: API > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_loadable_module.c > > Event-Calling-Function: switch_api_execute > > Event-Calling-Line-Number: 1581 > > API-Command: conference > > API-Command-Argument: > conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_test_uuid%5Dsofia/ > 10.50.48.239/1006%20 > > > > > > loop = 3 > > no event this time > > loop = 4 > > _______________________________________________ > 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 > > > > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/0c4d491b/attachment-0001.html From james.gledhill at sipstorm.com Wed Mar 10 14:38:38 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Wed, 10 Mar 2010 17:38:38 -0500 Subject: [Freeswitch-dev] error events for failed calls using'conferenceconf_name bgdial sofia/ip/user' In-Reply-To: <191c3a031003101235x4f7ad90dn6dd141d5a4dcaedb@mail.gmail.com> Message-ID: Thanks Anthony - I got it to work with the following: FS Version : 16852 and later 16963M "api originate sofia/10.50.48.232/+{my_tn_here}@10.50.50.50:5060 &conference(conf_uuid-TEST_CON) inline" If I used api originate conference conf_uuid-TEST_CONF inline then FS tried to make a conference of conf_uuid-TEST_CON at inline .. using &conference(conf_uuid-TEST_CON) inline fixed that 2010-03-10 17:03:36.463558 [NOTICE] switch_ivr.c:1447 Transfer sofia/internal/+{my_tn}@{my_gw} to conf_uuid-TEST_CON[conference at inline] 2010-03-10 17:03:36.465638 [DEBUG] switch_core_state_machine.c:133 No Dialplan, changing state to CONSUME_MEDIA --------- For others that may look at this later, my test code to get "start-talking" and "stop-talking" events during Early Media using esl lua (freesiwtch_src/libs/esl/lua) is #!/usr/local/bin/lua require("ESL") local con = ESL.ESLconnection("localhost", "8021", "ClueCon"); con:sendRecv("event plain ALL") ob_session_string = string.format("originate sofia/internal/{MY_TN_NUMBER_HERE}@{MY_GATEWAY_HERE} &conference(conf_uuid-TEST_CON) inline") ff = con:api( ob_session_string ) print("** sent api") if ff then print(ff:getBody()) print(ff: getHeader("result")) else print("no body") end cnt = 0 while cnt <= 40 do print("loop = " .. cnt ) cnt = cnt + 1 ev = con:recvEventTimed(1000) print( ev and ev:serialize("plain") or "no event this time" ) end ________________________________ From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: Wednesday, March 10, 2010 2:36 PM To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] error events for failed calls using'conferenceconf_name bgdial sofia/ip/user' Some of your findings are incorrect. The default behavior of originate is to return as soon as there is early media. (sip 183) Adding ignore_early_media=true is the opposite effect so you do not want that. bgapi just does the command in a separate thread so you don't want that either. api originate conference conf_uuid-TEST_CONF inline will put the call in the conference the very instant it sees a 183 If you see anything other than this, make sure you are on latest trunk and do a console trace demonstrating otherwise. use these commands for more details. console loglevel debug sofia profile internal siptrace on On Wed, Mar 10, 2010 at 1:29 PM, Gledhill, James wrote: Anthony - The problem with api originate conference conf_uuid-TEST_CONF inline is that it does not return until after the call is answered - so I do not have events during early media. I did try to add {ignore_early_media=true} but it still did not return until after I answered the phone (using esl lua for this test) I also tried "bgapi originate {ignore_early_media=true,origination_uuid=my_uuid_my_uuid_my_test_uuid}s ofia/internal/+18015551212 at 10.50.40.50:5060 &conference(conf_uuid-TEST_CONF) inline", (I used a different TN, but changed it for privacy) which makes the call and returns events before I answer the call, BUT the conf bridge does not get involved (called) until AFTER the origination call is answered. Neither of these allows me to get "start-talking" and "stop-talking" events during Early Media from the conf bridge because the conference is not involved during the early media part of the call. Brian - I should have been more detailed in my sofia string in the subject. I am aware that sofia/ip/user is not valid. Two examples sofia string I use are below. * If I used sofia/10.50.48.222/1002 AND that user is registered and answers, then all works well. If that user is not registered, I need to get USER_NOT_REGISTERED * If I use sofia/internal/+18015 at 10.50.40.50 (which is not a valid E.164 TN) then I should get DESTINATION_OUT_OF_ORDER or some other error message. ________________________________ From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: Wednesday, March 10, 2010 12:16 PM To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] error events for failed calls using'conference conf_name bgdial sofia/ip/user' consider api originate conference conf_uuid-TEST_CONF inline this returns success+uuid or fail On Wed, Mar 10, 2010 at 12:04 PM, Brian West wrote: http://wiki.freeswitch.org/wiki/Dialplan_XML#SIP-Specific_Dialstrings Please read that there is no such thing as sofia/ip/user (unless the ip is an alias on the profile) /b On Mar 10, 2010, at 11:23 AM, Gledhill, James wrote: My goals are: 1) To get "start-talking" and "stop-talking" events during Early Media (before the call is answered) as well as after the call is answered. 2) If there are problems with the call, get events that tell me why the call failed. The way I am doing it accomplishes the start/stop talking (in early media) BUT if the call fails, I do not get events back letting me know it failed and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had the UUID, I could match against, but at this point in the call I do NOT have that UUID AND when setting the UUID via "origination_uuid=my_uuid_my_uuid_my_test_uuid", my UUID has not yet been set, so as far as I can tell there is no way to match those events with details my application has at the time. The console shows the errors (Below are two examples of calls that failed in I entered "bad" sofia locations), but they do not come back as events. 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] So ... I am wondering is there a better/different way to do it, is there a work-around, should I get events to tell me the dial had problems, etc. I am using esl/lua and esl/java to experiment with this. Both get the same results (as I would expect). I have had this as a ~take-a-number on IRC for about a week, so I thought I would add more detail and open it up to this group. I realize many of the same people do both, but hoped more eyes may look at it here and give thoughts. ===== From Pastebin ==== I am not getting 'error' events in ESL [that match a UUID I can track] when there is a problem with conference dial sofia/myip/1006, so I can not tell what went wrong. Is there a work-around? I start a call in a conference from ESL (conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.232/1006) If the 'dial' works (meaning does not get an error) then I get the events I want and expect. If it errors (not able to make the call ( [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not get any events that tell me something went wrong. Is there a work-around for this? ===================== LUA Code run from ./freeswitch.trunk/libs/esl/lua #!/usr/local/bin/lua require("ESL") myip = "10.50.48.239" -- change this to your IP address myExt = 1006 -- change to one that is registered, then rerun with an unregistered con = ESL.ESLconnection("localhost", "8021", "ClueCon"); str = string.format("conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) con:sendRecv("event plain ALL") ff = con:api( str ) print("** sent " .. str ) print( (ff and ff:getBody() or "no body" )) cnt = 0 while cnt <= 30 do print("loop = " .. cnt ) cnt = cnt + 1 ev = con:recvEventTimed(1000) print( ev and ev:serialize("plain") or "no event this time" ) end ============== The printout is : ** sent conference conf_uuid-TEST_CONF bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 loop = 0 Event-Name: CHANNEL_DESTROY Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_core_session.c Event-Calling-Function: switch_core_session_perform_destroy Event-Calling-Line-Number: 1051 Channel-State: CS_NEW Channel-State-Number: 0 Channel-Name: N/A Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: ringing loop = 1 Event-Name: CHANNEL_STATE Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_channel.c Event-Calling-Function: switch_channel_perform_set_running_state Event-Calling-Line-Number: 1301 Channel-State: CS_DESTROY Channel-State-Number: 12 Channel-Name: _undef_ Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: ringing loop = 2 Event-Name: API Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-05%2017%3A06%3A52 Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT Event-Date-Timestamp: 1267826812571550 Event-Calling-File: switch_loadable_module.c Event-Calling-Function: switch_api_execute Event-Calling-Line-Number: 1581 API-Command: conference API-Command-Argument: conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_ test_uuid%5Dsofia/10.50.48.239/1006%20 loop = 3 no event this time loop = 4 _______________________________________________ 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 _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/290af74b/attachment-0001.html From anthony.minessale at gmail.com Wed Mar 10 14:59:17 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Wed, 10 Mar 2010 16:59:17 -0600 Subject: [Freeswitch-dev] error events for failed calls using'conferenceconf_name bgdial sofia/ip/user' In-Reply-To: References: <191c3a031003101235x4f7ad90dn6dd141d5a4dcaedb@mail.gmail.com> Message-ID: <191c3a031003101459h19317747y8081d0f97e91b54b@mail.gmail.com> &app(arg) removes the requirement for "inline" inline is a special dialplan that uses a list of apps as the extension input I think I made a typo in my example *api originate conference:conf_uuid-TEST_CONF inline* the app args should be connected to the app name with a : char when using the inline dp The 2 inputs to originate following the dialstring are &app(args) OR so conference:foo inline is equiv to &conference(foo) On Wed, Mar 10, 2010 at 4:38 PM, Gledhill, James < james.gledhill at sipstorm.com> wrote: > Thanks Anthony ? > > > > I got it to work with the following: > > > > FS Version : 16852 and later 16963M > > > > "api originate sofia/10.50.48.232/+{my_tn_here}@10.50.50.50:5060 > &conference(conf_uuid-TEST_CON)inline" > > > > If I used *api originate conference conf_uuid-TEST_CONF > inline* then FS tried to make a conference of conf_uuid-TEST_CON*@inline*.. using &conference(conf_uuid-TEST_CON) inline fixed that > > > > 2010-03-10 17:03:36.463558 [NOTICE] switch_ivr.c:1447 Transfer > sofia/internal/+{my_tn}@{my_gw} to conf_uuid-TEST_CON[conference at inline] > > 2010-03-10 17:03:36.465638 [DEBUG] switch_core_state_machine.c:133 No > Dialplan, changing state to CONSUME_MEDIA > > > > > > --------- > > > > For others that may look at this later, my test code to get ?start-talking? > and ?stop-talking? events during Early Media using esl lua > (freesiwtch_src/libs/esl/lua) is > > > > > > #!/usr/local/bin/lua > > require("ESL") > > > > local con = ESL.ESLconnection("localhost", "8021", "ClueCon"); > > > > con:sendRecv("event plain ALL") > > ob_session_string = string.format("originate > sofia/internal/{MY_TN_NUMBER_HERE}@{MY_GATEWAY_HERE} > &conference(conf_uuid-TEST_CON) inline") > > > > ff = con:api( ob_session_string ) > > print("** sent api") > > > > if ff then > > print(ff:getBody()) > > print(ff: getHeader("result")) > > else > > print("no body") > > end > > > > > > cnt = 0 > > while cnt <= 40 do > > > > print("loop = " .. cnt ) > > cnt = cnt + 1 > > ev = con:recvEventTimed(1000) > > print( ev and ev:serialize("plain") or "no event this time" ) > > > > end > ------------------------------ > > *From:* freeswitch-dev-bounces at lists.freeswitch.org [mailto: > freeswitch-dev-bounces at lists.freeswitch.org] *On Behalf Of *Anthony > Minessale > *Sent:* Wednesday, March 10, 2010 2:36 PM > > *To:* freeswitch-dev at lists.freeswitch.org > *Subject:* Re: [Freeswitch-dev] error events for failed calls > using'conferenceconf_name bgdial sofia/ip/user' > > > > Some of your findings are incorrect. > > The default behavior of originate is to return as soon as there is early > media. (sip 183) > Adding ignore_early_media=true is the opposite effect so you do not want > that. > > bgapi just does the command in a separate thread so you don't want that > either. > > *api originate conference conf_uuid-TEST_CONF inline* > will put the call in the conference the very instant it sees a 183 > > If you see anything other than this, make sure you are on latest trunk and > do a console trace demonstrating otherwise. > > use these commands for more details. > > console loglevel debug > sofia profile internal siptrace on > > > On Wed, Mar 10, 2010 at 1:29 PM, Gledhill, James < > james.gledhill at sipstorm.com> wrote: > > Anthony ? > > > > The problem with *api originate conference > conf_uuid-TEST_CONF inline* is that it does not return until after the > call is answered ? so I do not have events during early media. I did try to > add *{ignore_early_media=true}* but it still did not return until after I > answered the phone (using esl lua for this test) > > > > I also tried "*bgapi originate > {ignore_early_media=true,origination_uuid=my_uuid_my_uuid_my_test_uuid}sofia/internal/+ > 18015551212 at 10.50.40.50:5060 &conference(conf_uuid-TEST_CONF) inline*?, (I > used a different TN, but changed it for privacy) which makes the call and > returns events before I answer the call, BUT the conf bridge does not get > involved (called) until AFTER the origination call is answered. > > > > Neither of these allows me to get ?start-talking? and ?stop-talking? events > during Early Media from the conf bridge because the conference is not > involved during the early media part of the call. > > > > Brian ? > > > > I should have been more detailed in my sofia string in the subject. I am > aware that sofia/ip/user is not valid. Two examples sofia string I use are > below. > > * If I used sofia/10.50.48.222/1002 AND that user is registered and > answers, then all works well. If that user is not registered, I need to get > USER_NOT_REGISTERED > > * If I use sofia/internal/+18015 at 10.50.40.50 (which is not a valid E.164 > TN) then I should get DESTINATION_OUT_OF_ORDER or some other error message. > > > > > ------------------------------ > > *From:* freeswitch-dev-bounces at lists.freeswitch.org [mailto: > freeswitch-dev-bounces at lists.freeswitch.org] *On Behalf Of *Anthony > Minessale > *Sent:* Wednesday, March 10, 2010 12:16 PM > *To:* freeswitch-dev at lists.freeswitch.org > *Subject:* Re: [Freeswitch-dev] error events for failed calls > using'conference conf_name bgdial sofia/ip/user' > > > > consider > > api originate conference conf_uuid-TEST_CONF inline > > this returns success+uuid or fail > > On Wed, Mar 10, 2010 at 12:04 PM, Brian West wrote: > > http://wiki.freeswitch.org/wiki/Dialplan_XML#SIP-Specific_Dialstrings > > > > Please read that there is no such thing as sofia/ip/user (unless the ip is > an alias on the profile) > > > > /b > > > > On Mar 10, 2010, at 11:23 AM, Gledhill, James wrote: > > > > > > My goals are: > > 1) To get ?start-talking? and ?stop-talking? events during Early > Media (before the call is answered) as well as after the call is answered. > > 2) If there are problems with the call, get events that tell me why > the call failed. > > > > The way I am doing it accomplishes the start/stop talking (in early media) > BUT if the call fails, I do not get events back letting me know it failed > and why. I DO get CHANNEL_DESTROY and CHANNEL_STATE events that IF I had > the UUID, I could match against, but at this point in the call I do NOT have > that UUID AND when setting the UUID via > ?origination_uuid=my_uuid_my_uuid_my_test_uuid?, my UUID has not yet been > set, so as far as I can tell there is no way to match those events with > details my application has at the time. > > > > The console shows the errors (Below are two examples of calls that failed > in I entered ?bad? sofia locations), but they do not come back as events. > > 2010-03-05 14:52:20.109497 [ERR] switch_ivr_originate.c:2389 Cannot create > outgoing channel of type [sofia] cause: [USER_NOT_REGISTERED] > > 2010-03-05 16:34:13.669509 [ERR] switch_ivr_originate.c:2389 Cannot create > outgoing channel of type [sofia] cause: [DESTINATION_OUT_OF_ORDER] > > > > So ? I am wondering is there a better/different way to do it, is there a > work-around, should I get events to tell me the dial had problems, etc. > > > > I am using esl/lua and esl/java to experiment with this. Both get the same > results (as I would expect). > > > > I have had this as a ~take-a-number on IRC for about a week, so I thought I > would add more detail and open it up to this group. I realize many of the > same people do both, but hoped more eyes may look at it here and give > thoughts. > > > > > > ===== From Pastebin ==== > > > > I am not getting 'error' events in ESL [that match a UUID I can track] when > there is a problem with conference dial sofia/myip/1006, so I > can not tell what went wrong. Is there a work-around? > > > > I start a call in a conference from ESL (conference conf_uuid-TEST_CONF > bgdial [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/ > 10.50.48.232/1006) > > > > If the 'dial' works (meaning does not get an error) then I get the events > I want and expect. If it errors (not able to make the call ( > [USER_NOT_REGISTERED] | [DESTINATION_OUT_OF_ORDER] | etc. ) then I do not > get any events that tell me something went wrong. > > > > Is there a work-around for this? > > > > ===================== > > LUA Code run from ./freeswitch.trunk/libs/esl/lua > > > > #!/usr/local/bin/lua > > require("ESL") > > > > myip = "10.50.48.239" -- change this to your IP address > > myExt = 1006 -- change to one that is registered, then rerun with an > unregistered > > > > con = ESL.ESLconnection("localhost", "8021", "ClueCon"); > > > > str = string.format("conference conf_uuid-TEST_CONF bgdial > [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/%s/%s", myip, myExt) > > > > con:sendRecv("event plain ALL") > > > > > > ff = con:api( str ) > > > > print("** sent " .. str ) > > > > print( (ff and ff:getBody() or "no body" )) > > > > cnt = 0 > > while cnt <= 30 do > > > > print("loop = " .. cnt ) > > cnt = cnt + 1 > > ev = con:recvEventTimed(1000) > > print( ev and ev:serialize("plain") or "no event this time" ) > > > > end > > > > ============== > > > > The printout is : > > > > ** sent conference conf_uuid-TEST_CONF bgdial > [origination_uuid=my_uuid_my_uuid_my_test_uuid]sofia/10.50.48.239/1006 > > OK Job-UUID: a5d57b34-9205-483c-ae64-60601d8178d7 > > > > loop = 0 > > Event-Name: CHANNEL_DESTROY > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_core_session.c > > Event-Calling-Function: switch_core_session_perform_destroy > > Event-Calling-Line-Number: 1051 > > Channel-State: CS_NEW > > Channel-State-Number: 0 > > Channel-Name: N/A > > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: ringing > > > > > > loop = 1 > > Event-Name: CHANNEL_STATE > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_channel.c > > Event-Calling-Function: switch_channel_perform_set_running_state > > Event-Calling-Line-Number: 1301 > > Channel-State: CS_DESTROY > > Channel-State-Number: 12 > > Channel-Name: _undef_ > > Unique-ID: ff9f875e-941f-438a-b384-844a6da23f66 > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: ringing > > > > > > loop = 2 > > Event-Name: API > > Core-UUID: 438a66f9-8e41-4c6a-bbfd-1b0e8527cec1 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: 2010-03-05%2017%3A06%3A52 > > Event-Date-GMT: Fri,%2005%20Mar%202010%2022%3A06%3A52%20GMT > > Event-Date-Timestamp: 1267826812571550 > > Event-Calling-File: switch_loadable_module.c > > Event-Calling-Function: switch_api_execute > > Event-Calling-Line-Number: 1581 > > API-Command: conference > > API-Command-Argument: > conf_uuid-TEST_CONF%20bgdial%20%5Borigination_uuid%3Dmy_uuid_my_uuid_my_test_uuid%5Dsofia/ > 10.50.48.239/1006%20 > > > > > > loop = 3 > > no event this time > > loop = 4 > > _______________________________________________ > 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 > > > > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100310/5f531e21/attachment-0001.html From Suneel.Papineni at mettoni.com Thu Mar 11 09:56:03 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Thu, 11 Mar 2010 17:56:03 -0000 Subject: [Freeswitch-dev] From header with 0000000000 Message-ID: <3181A30B8C35AB4AA8577B78DDF461380696BA90@nickel.mettonigroup.com> Hi, This might be a basic question, but could you please let me know why I am getting "0000000000" as Caller-Caller-ID-Number (This is appearing in >From header as well) and with out From username when I am issuing following command to originate a call. api originate sofia/softphone/1004 at 172.22.252.124 9999 This could be a setting I need to make before making call. Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100311/f612c7d7/attachment.html From m.sobkow at marketelsystems.com Thu Mar 11 10:12:43 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Thu, 11 Mar 2010 12:12:43 -0600 Subject: [Freeswitch-dev] Problem with call recording In-Reply-To: <8D801943-7D35-4A54-8B26-791AE3333605@freeswitch.org> References: <4B96737F.9030305@marketelsystems.com> <8D801943-7D35-4A54-8B26-791AE3333605@freeswitch.org> Message-ID: <4B99329B.70807@marketelsystems.com> Sorry, I was just hoping for confirmation that it's a bug before I filed a report. I'll take care of that some time today. :) Brian West wrote: > Mark, > Bug reports belong on Jira. > > http://jira.freeswitch.org > > > /b > > On Mar 9, 2010, at 10:12 AM, Mark Sobkow wrote: > > >> I'm having a problem with call recording. I tell Freeswitch to record a >> call to a file, and it responds ok, and the file shows up on the file >> system. I later tell Freeswitch to stop recording, and it returns ok, >> but the file keeps growing as it doesn't actually stop recording. >> >> As a result, any subsequent attempts to start recording the session to a >> different file name fails. >> >> In my case, an operator is logged in to the phone system and receiving >> calls from customers or from automated callbacks (if the customer didn't >> want to wait.) So I don't need to record the entire operator session, >> just _segments_ of it. >> > > > _______________________________________________ > 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 > > From anthony.minessale at gmail.com Thu Mar 11 10:13:24 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Thu, 11 Mar 2010 12:13:24 -0600 Subject: [Freeswitch-dev] From header with 0000000000 In-Reply-To: <3181A30B8C35AB4AA8577B78DDF461380696BA90@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF461380696BA90@nickel.mettonigroup.com> Message-ID: <191c3a031003111013s123f10f6qcde6abb47026ee81@mail.gmail.com> api originate {origination_caller_id_number=12121231234}sofia/softphone/ 1004 at 172.22.252.124 9999 On Thu, Mar 11, 2010 at 11:56 AM, Suneel Papineni < Suneel.Papineni at mettoni.com> wrote: > Hi, > > > > This might be a basic question, but could you please let me know why I am > getting ?0000000000? as Caller-Caller-ID-Number (This is appearing in From > header as well) and with out From username when I am issuing following > command to originate a call. > > > > api originate sofia/softphone/1004 at 172.22.252.124 9999 > > > > This could be a setting I need to make before making call. > > > > Thanks & Regards > > Suneel > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > ************************************************************************* > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100311/67dee8b7/attachment.html From james.gledhill at sipstorm.com Thu Mar 11 10:28:35 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Thu, 11 Mar 2010 13:28:35 -0500 Subject: [Freeswitch-dev] From header with 0000000000 In-Reply-To: <3181A30B8C35AB4AA8577B78DDF461380696BA90@nickel.mettonigroup.com> Message-ID: That is the default setting. There are many ways to change it. You may want to look at some of the examples in http://wiki.freeswitch.org/wiki/Mod_commands#originate and channel variable like those http://wiki.freeswitch.org/wiki/Channel_Variables#Originate_related_vari ables An example would be api originate {origination_caller_id_number=9185551212, origination_caller_id_name=Jimmy}sofia/softphone/1004 at 172.22.252.124 9999 ________________________________ From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Suneel Papineni Sent: Thursday, March 11, 2010 11:56 AM To: freeswitch-dev at lists.freeswitch.org Subject: [Freeswitch-dev] From header with 0000000000 Hi, This might be a basic question, but could you please let me know why I am getting "0000000000" as Caller-Caller-ID-Number (This is appearing in >From header as well) and with out From username when I am issuing following command to originate a call. api originate sofia/softphone/1004 at 172.22.252.124 9999 This could be a setting I need to make before making call. Thanks & Regards Suneel ************************************************************************ * Please consider the environment before printing this e-mail ************************************************************************ * This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************ * -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100311/517ddff6/attachment-0001.html From james.gledhill at sipstorm.com Thu Mar 11 12:17:54 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Thu, 11 Mar 2010 15:17:54 -0500 Subject: [Freeswitch-dev] Getting CHANNEL_ANSWER Event before call is answered with 'api originate conference:conf_uuid-TEST_CONF inline' In-Reply-To: <191c3a031003111013s123f10f6qcde6abb47026ee81@mail.gmail.com> Message-ID: Testing with version 16963M Problem: When using * api originate sofia/internal/+18014712100 at 172.30.110.225:5060 conference:conf_uuid-TEST_CONF inline or * api originate sofia/internal/+18014712100 at 172.30.110.225:5060 &conference(conf_uuid-TEST_CONF) I am getting the CHANNEL_ANSWER event before the channel is actually answered. I have included console logs (with SIP messages) as well as the EVENT from ESL in the enclosed log files [Early_CHANNEL_ANSWER_EVENTS.txt & Early_CHANNEL_ANSWER_CLI_LOG.txt] Is there a work-around or something else I need to do/set, or should I log this in Jira? To give an overview: 2010-03-11 14:30:44.785190 [NOTICE] switch_channel.c:669 New Channel sofia/internal/+18014712100 at 172.30.110.225:5060 [8a0782ef-fb06-4fa7-9441-ddcc65f08b4a] 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:3375 (sofia/internal/+18014712100 at 172.30.110.225:5060) State Change CS_NEW -> CS_INIT 2010-03-11 14:30:44.785190 [DEBUG] switch_core_session.c:1018 Send signal sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:314 (sofia/internal/+18014712100 at 172.30.110.225:5060) Running State Change CS_INIT 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:338 (sofia/internal/+18014712100 at 172.30.110.225:5060) State INIT 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:83 sofia/internal/+18014712100 at 172.30.110.225:5060 SOFIA INIT 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:117 (sofia/internal/+18014712100 at 172.30.110.225:5060) State Change CS_INIT -> CS_ROUTING 2010-03-11 14:30:44.785190 [DEBUG] switch_core_session.c:1018 Send signal sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:338 (sofia/internal/+18014712100 at 172.30.110.225:5060) State INIT going to sleep 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:314 (sofia/internal/+18014712100 at 172.30.110.225:5060) Running State Change CS_ROUTING 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:341 (sofia/internal/+18014712100 at 172.30.110.225:5060) State ROUTING 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:140 sofia/internal/+18014712100 at 172.30.110.225:5060 SOFIA ROUTING 2010-03-11 14:30:44.785190 [DEBUG] switch_ivr_originate.c:66 (sofia/internal/+18014712100 at 172.30.110.225:5060) State Change CS_ROUTING -> CS_CONSUME_MEDIA 2010-03-11 14:30:44.785190 [DEBUG] switch_core_session.c:1018 Send signal sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:341 (sofia/internal/+18014712100 at 172.30.110.225:5060) State ROUTING going to sleep 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:314 (sofia/internal/+18014712100 at 172.30.110.225:5060) Running State Change CS_CONSUME_MEDIA 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:360 (sofia/internal/+18014712100 at 172.30.110.225:5060) State CONSUME_MEDIA 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:360 (sofia/internal/+18014712100 at 172.30.110.225:5060) State CONSUME_MEDIA going to sleep send 1140 bytes to udp/[172.30.110.225]:5060 at 19:30:44.787327: ------------------------------------------------------------------------ INVITE sip:+18014712100 at 172.30.110.225:5060 SIP/2.0 <<< Deleted here for shorter version - full log in enclosed file>>> ------------------------------------------------------------------------ 2010-03-11 14:30:44.787361 [DEBUG] sofia.c:4152 Channel sofia/internal/+18014712100 at 172.30.110.225:5060 entering state [calling][0] recv 739 bytes from udp/[172.30.110.225]:5060 at 19:30:44.817367: ------------------------------------------------------------------------ SIP/2.0 100 Trying <<< Deleted here for shorter version - full log in enclosed file>>> ------------------------------------------------------------------------ recv 732 bytes from udp/[172.30.110.225]:5060 at 19:30:45.667133: ------------------------------------------------------------------------ SIP/2.0 180 Ringing [NOTE: This is a 180 WITH SDP - causing Early Media - Yes this is a Sonus!]] <<< Deleted here for shorter version - full log in enclosed file>>> ------------------------------------------------------------------------ 2010-03-11 14:30:45.666976 [INFO] sofia.c:662 Update Callee ID to "+18014712100" <+18014712100> 2010-03-11 14:30:45.724981 [DEBUG] sofia.c:4152 Channel sofia/internal/+18014712100 at 172.30.110.225:5060 entering state [proceeding][180] 2010-03-11 14:30:45.724981 [DEBUG] sofia.c:4163 Remote SDP: v=0 <<< Deleted here for shorter version - full log in enclosed file>>> 2010-03-11 14:30:45.724981 [DEBUG] sofia_glue.c:3570 Audio Codec Compare [PCMU:0:8000:20]/[PCMU:0:8000:20] 2010-03-11 14:30:45.724981 [DEBUG] sofia_glue.c:2354 Set Codec sofia/internal/+18014712100 at 172.30.110.225:5060 PCMU/8000 20 ms 160 samples 2010-03-11 14:30:45.727007 [DEBUG] sofia_glue.c:3511 Set 2833 dtmf payload to 101 2010-03-11 14:30:45.727007 [DEBUG] sofia_glue.c:2594 AUDIO RTP [sofia/internal/+18014712100 at 172.30.110.225:5060] 10.50.48.232 port 32646 -> 65.59.218.161 port 59838 codec: 0 ms: 20 2010-03-11 14:30:45.727007 [DEBUG] switch_rtp.c:1181 Starting timer [soft] 160 bytes per 20ms 2010-03-11 14:30:45.729007 [NOTICE] sofia_glue.c:3149 Pre-Answer sofia/internal/+18014712100 at 172.30.110.225:5060! 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr_originate.c:3107 Originate Resulted in Success: [sofia/internal/+18014712100 at 172.30.110.225:5060] 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr.c:1441 (sofia/internal/+18014712100 at 172.30.110.225:5060) State Change CS_CONSUME_MEDIA -> CS_ROUTING <<< Deleted here for shorter version - full log in enclosed file>>> 2010-03-11 14:30:45.730985 [DEBUG] mod_sofia.c:226 sofia/internal/+18014712100 at 172.30.110.225:5060 SOFIA EXECUTE 2010-03-11 14:30:45.730985 [DEBUG] switch_core_state_machine.c:157 sofia/internal/+18014712100 at 172.30.110.225:5060 Standard EXECUTE EXECUTE sofia/internal/+18014712100 at 172.30.110.225:5060 conference(conf_uuid-TEST_CON) 2010-03-11 14:30:45.730985 [DEBUG] mod_conference.c:5671 Installing default caller control action 'mute' bound to '0'. 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr.c:1616 max len 1 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr.c:1620 min len 1 <<< Deleted here for shorter version - full log in enclosed file>>> 2010-03-11 14:30:45.733291 [DEBUG] switch_core_codec.c:122 sofia/internal/+18014712100 at 172.30.110.225:5060 Push codec L16:10 2010-03-11 14:30:45.733291 [DEBUG] switch_core_session.c:638 Send signal sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] 2010-03-11 14:30:45.733291 [DEBUG] mod_conference.c:2202 Setup timer soft success interval: 20 samples: 160 2010-03-11 14:30:45.733291 [NOTICE] mod_conference.c:2213 Channel [sofia/internal/+18014712100 at 172.30.110.225:5060] has been answered NOTE: The above line is where CHANNEL_ANSWER event gets generated, but the call is not answered until about 10 seconds later (in this case). See below. 2010-03-11 14:30:45.733291 [DEBUG] mod_conference.c:2316 Outbound conference channel answered, setting CFLAG_ANSWERED 2010-03-11 14:30:45.735363 [DEBUG] mod_conference.c:994 Setup timer success interval: 20 samples: 160 2010-03-11 14:30:46.232841 [DEBUG] switch_rtp.c:2055 Correct ip/port confirmed. 2010-03-11 14:30:48.494337 [DEBUG] mod_local_stream.c:421 Opening Stream [moh/8000] 8000hz NOTE: The 200 OK came ~10 seconds after the above "Channel [sofia/internal/+18014712100 at 172.30.110.225:5060] has been answered" message recv 830 bytes from udp/[172.30.110.225]:5060 at 19:30:55.520491: ------------------------------------------------------------------------ SIP/2.0 200 OK v:SIP/2.0/UDP 10.50.48.232;branch=z9hG4bKXQaS3DB27ypra;received=10.50.48.232;rport=506 0 f:"";tag=Bgv1HtFKD6UUK t:;tag=887148b37ae7121417289eefaa3 40e22 i:6db7a397-a7e7-122d-84b6-001279948854 <<< Deleted here for shorter version - full log in enclosed file>>> >From the enclosed Event logs [Early_CHANNEL_ANSWER_EVENTS.txt] loop = 17 Event-Name: CHANNEL_ANSWER Core-UUID: 3920497f-8c61-401e-85b2-8693bcf0a428 FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com FreeSWITCH-IPv4: 10.50.48.232 FreeSWITCH-IPv6: %3A%3A1 Event-Date-Local: 2010-03-11 14:30:45 [NOTE: 14:30:45] - time of the 2010-03-11 14:30:45.733291 [NOTICE] mod_conference.c:2213 Channel [sofia/internal/+18014712100 at 172.30.110.225:5060] has been answered Event-Date-GMT: Thu,%2011%20Mar%202010%2019%3A30%3A45%20GMT Event-Date-Timestamp: 1268335845733291 Event-Calling-File: switch_channel.c Event-Calling-Function: switch_channel_perform_mark_answered Event-Calling-Line-Number: 2283 Channel-State: CS_EXECUTE Channel-State-Number: 4 Channel-Name: sofia/internal/%2B18014712100%40172.30.110.225%3A5060 Unique-ID: 8a0782ef-fb06-4fa7-9441-ddcc65f08b4a Call-Direction: outbound Presence-Call-Direction: outbound Answer-State: answered Channel-Read-Codec-Name: L16 Channel-Read-Codec-Rate: 8000 Channel-Write-Codec-Name: PCMU Channel-Write-Codec-Rate: 8000 Caller-Dialplan: inline Caller-Caller-ID-Number: 0000000000 Caller-Network-Addr: 172.30.110.225 Caller-Destination-Number: %2B18014712100 Caller-Unique-ID: 8a0782ef-fb06-4fa7-9441-ddcc65f08b4a Caller-Source: src/switch_ivr_originate.c Caller-Context: default Caller-Channel-Name: sofia/internal/%2B18014712100%40172.30.110.225%3A5060 Caller-Profile-Index: 2 Caller-Profile-Created-Time: 1268335845730985 Caller-Channel-Created-Time: 1268335844785190 Caller-Channel-Answered-Time: 1268335845733291 Caller-Channel-Progress-Time: 0 Caller-Channel-Progress-Media-Time: 1268335845729007 Caller-Channel-Hangup-Time: 0 Caller-Channel-Transfer-Time: 0 Caller-Screen-Bit: true Caller-Privacy-Hide-Name: false Caller-Privacy-Hide-Number: false variable_is_outbound: true variable_uuid: 8a0782ef-fb06-4fa7-9441-ddcc65f08b4a variable_sip_profile_name: 10.50.48.232 variable_channel_name: sofia/internal/%2B18014712100%40172.30.110.225%3A5060 variable_sip_destination_url: sip%3A%2B18014712100%40172.30.110.225%3A5060 variable_originate_early_media: true variable_sip_local_sdp_str: v%3D0%0Ao%3DFreeSWITCH%201268303198%201268303199%20IN%20IP4%2010.50.48.2 32%0As%3DFreeSWITCH%0Ac%3DIN%20IP4%2010.50.48.232%0At%3D0%200%0Am%3Daudi o%2032646%20RTP/AVP%200%20101%2013%0Aa%3Drtpmap%3A0%20PCMU/8000%0Aa%3Drt pmap%3A101%20telephone-event/8000%0Aa%3Dfmtp%3A101%200-16%0Aa%3Drtpmap%3 A13%20CN/8000%0Aa%3Dptime%3A20%0Aa%3Dsendrecv%0A variable_sip_outgoing_contact_uri: %3Csip%3Amod_sofia%4010.50.48.232%3A5060%3E variable_sip_req_uri: %2B18014712100%40172.30.110.225%3A5060 variable_sofia_profile_name: internal variable_sip_reply_host: 172.30.110.225 variable_sip_reply_port: 5060 variable_sip_network_ip: 172.30.110.225 variable_sip_network_port: 5060 variable_sip_full_via: SIP/2.0/UDP%2010.50.48.232%3Bbranch%3Dz9hG4bKXQaS3DB27ypra%3Breceived%3D 10.50.48.232%3Brport%3D5060 variable_sip_full_from: %22%22%20%3Csip%3A0000000000%4010.50.48.232%3E%3Btag%3DBgv1HtFKD6UUK variable_sip_full_to: %3Csip%3A%2B18014712100%40172.30.110.225%3A5060%3E%3Btag%3D887148b37ae71 21417289eefaa340e22 variable_sip_from_user: 0000000000 variable_sip_from_uri: 0000000000%4010.50.48.232 variable_sip_from_host: 10.50.48.232 variable_sip_to_user: %2B18014712100 variable_sip_to_port: 5060 variable_sip_to_uri: %2B18014712100%40172.30.110.225%3A5060 variable_sip_to_host: 172.30.110.225 variable_sip_contact_params: transport%3Dudp variable_sip_contact_user: 0-04370ee113c407043dff variable_sip_contact_port: 5060 variable_sip_contact_uri: 0-04370ee113c407043dff%40172.30.110.225%3A5060 variable_sip_contact_host: 172.30.110.225 variable_sip_to_tag: 887148b37ae7121417289eefaa340e22 variable_sip_from_tag: Bgv1HtFKD6UUK variable_sip_cseq: 128049586 variable_sip_call_id: 6db7a397-a7e7-122d-84b6-001279948854 variable_switch_r_sdp: v%3D0%0D%0Ao%3DSonus_UAC%20536801%2053680100%20IN%20IP4%2065.59.218.161% 0D%0As%3DSIP%20Media%20Capabilities%0D%0Ac%3DIN%20IP4%2065.59.218.161%0D %0At%3D0%200%0D%0Am%3Daudio%2059838%20RTP/AVP%200%20101%0D%0Aa%3Drtpmap% 3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfm tp%3A101%200-15%0D%0Aa%3Dmaxptime%3A20%0D%0A variable_sip_use_codec_name: PCMU variable_sip_use_codec_rate: 8000 variable_sip_use_codec_ptime: 20 variable_write_codec: PCMU variable_write_rate: 8000 variable_local_media_ip: 10.50.48.232 variable_local_media_port: 32646 variable_sip_use_pt: 0 variable_rtp_use_ssrc: 2908074324 variable_remote_media_ip: 65.59.218.161 variable_remote_media_port: 59838 variable_endpoint_disposition: EARLY%20MEDIA variable_max_forwards: 70 variable_current_application_data: conf_uuid-TEST_CON variable_current_application: conference variable_conference_name: conf_uuid-TEST_CON variable_read_codec: L16 variable_read_rate: 8000 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100311/efc1ab67/attachment-0001.html From anthony.minessale at gmail.com Thu Mar 11 12:42:56 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Thu, 11 Mar 2010 14:42:56 -0600 Subject: [Freeswitch-dev] Getting CHANNEL_ANSWER Event before call is answered with 'api originate conference:conf_uuid-TEST_CONF inline' In-Reply-To: References: <191c3a031003111013s123f10f6qcde6abb47026ee81@mail.gmail.com> Message-ID: <191c3a031003111242x7a8fdf68x39bad13d6feb0f34@mail.gmail.com> That was a very obscure bug becuse most people to not send unanswered calls to something who might call answer on them. its fixed in r16970 but if you have any more bugs, please report them to http://jira.freeswitch.org not here. On Thu, Mar 11, 2010 at 2:17 PM, Gledhill, James < james.gledhill at sipstorm.com> wrote: > Testing with version *16963M* > > > > *Problem:* > > > > When using > > * api originate sofia/internal/+18014712100 at 172.30.110.225:5060conference:conf_uuid-TEST_CONF inline or > > * api originate sofia/internal/+18014712100 at 172.30.110.225:5060&conference(conf_uuid-TEST_CONF) > > > > > I am getting the CHANNEL_ANSWER event before the channel is actually > answered. I have included console logs (with SIP messages) as well as the > EVENT from ESL in the enclosed log files [Early_CHANNEL_ANSWER_EVENTS.txt & > Early_CHANNEL_ANSWER_CLI_LOG.txt] > > > > *Is there a work-around or something else I need to do/set, or should I > log this in Jira?* > > > > *To give an overview:* > > > > 2010-03-11 14:30:44.785190 [NOTICE] switch_channel.c:669 *New Channel > sofia/internal/+18014712100 at 172.30.110.225:5060[8a0782ef-fb06-4fa7-9441-ddcc65f08b4a] > * > > 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:3375 (sofia/internal/+ > 18014712100 at 172.30.110.225:5060) State Change CS_NEW -> CS_INIT > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_session.c:1018 Send signal > sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:314 > (sofia/internal/+18014712100 at 172.30.110.225:5060) Running State Change > CS_INIT > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:338 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State INIT > > 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:83 sofia/internal/+ > 18014712100 at 172.30.110.225:5060 SOFIA INIT > > 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:117 (sofia/internal/+ > 18014712100 at 172.30.110.225:5060) State Change CS_INIT -> CS_ROUTING > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_session.c:1018 Send signal > sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:338 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State INIT going to > sleep > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:314 > (sofia/internal/+18014712100 at 172.30.110.225:5060) Running State Change > CS_ROUTING > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:341 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State ROUTING > > 2010-03-11 14:30:44.785190 [DEBUG] mod_sofia.c:140 sofia/internal/+ > 18014712100 at 172.30.110.225:5060 SOFIA ROUTING > > 2010-03-11 14:30:44.785190 [DEBUG] switch_ivr_originate.c:66 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State Change CS_ROUTING > -> CS_CONSUME_MEDIA > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_session.c:1018 Send signal > sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:341 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State ROUTING going to > sleep > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:314 > (sofia/internal/+18014712100 at 172.30.110.225:5060) Running State Change > CS_CONSUME_MEDIA > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:360 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State CONSUME_MEDIA > > 2010-03-11 14:30:44.785190 [DEBUG] switch_core_state_machine.c:360 > (sofia/internal/+18014712100 at 172.30.110.225:5060) State CONSUME_MEDIA > going to sleep > > send 1140 bytes to udp/[172.30.110.225]:5060 at 19:30:44.787327: > > ------------------------------------------------------------------------ > > INVITE sip:+18014712100 at 172.30.110.225:5060 SIP/2.0 > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > ------------------------------------------------------------------------ > > 2010-03-11 14:30:44.787361 [DEBUG] sofia.c:4152 Channel sofia/internal/+ > 18014712100 at 172.30.110.225:5060 entering state [calling][0] > > recv 739 bytes from udp/[172.30.110.225]:5060 at 19:30:44.817367: > > ------------------------------------------------------------------------ > > SIP/2.0 100 Trying > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > ------------------------------------------------------------------------ > > recv 732 bytes from udp/[172.30.110.225]:5060 at 19:30:45.667133: > > ------------------------------------------------------------------------ > > SIP/2.0 180 Ringing *[NOTE: This is a **180 WITH SDP** ? causing Early > Media ? Yes this is a Sonus!]]* > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > ------------------------------------------------------------------------ > > 2010-03-11 14:30:45.666976 [INFO] sofia.c:662 Update Callee ID to > "+18014712100" <+18014712100> > > 2010-03-11 14:30:45.724981 [DEBUG] sofia.c:4152 Channel sofia/internal/+ > 18014712100 at 172.30.110.225:5060 entering state [proceeding][180] > > 2010-03-11 14:30:45.724981 [DEBUG] sofia.c:4163 Remote SDP: > > v=0 > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > 2010-03-11 14:30:45.724981 [DEBUG] sofia_glue.c:3570 Audio Codec Compare > [PCMU:0:8000:20]/[PCMU:0:8000:20] > > 2010-03-11 14:30:45.724981 [DEBUG] sofia_glue.c:2354 Set Codec > sofia/internal/+18014712100 at 172.30.110.225:5060 PCMU/8000 20 ms 160 > samples > > 2010-03-11 14:30:45.727007 [DEBUG] sofia_glue.c:3511 Set 2833 dtmf payload > to 101 > > 2010-03-11 14:30:45.727007 [DEBUG] sofia_glue.c:2594 AUDIO RTP > [sofia/internal/+18014712100 at 172.30.110.225:5060] 10.50.48.232 port 32646 > -> 65.59.218.161 port 59838 codec: 0 ms: 20 > > 2010-03-11 14:30:45.727007 [DEBUG] switch_rtp.c:1181 Starting timer [soft] > 160 bytes per 20ms > > 2010-03-11 14:30:45.729007 [NOTICE] sofia_glue.c:3149 Pre-Answer > sofia/internal/+18014712100 at 172.30.110.225:5060! > > 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr_originate.c:3107 Originate > Resulted in Success: [sofia/internal/+18014712100 at 172.30.110.225:5060] > > 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr.c:1441 (sofia/internal/+ > 18014712100 at 172.30.110.225:5060) State Change CS_CONSUME_MEDIA -> > CS_ROUTING > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > 2010-03-11 14:30:45.730985 [DEBUG] mod_sofia.c:226 sofia/internal/+ > 18014712100 at 172.30.110.225:5060 SOFIA EXECUTE > > 2010-03-11 14:30:45.730985 [DEBUG] switch_core_state_machine.c:157 > sofia/internal/+18014712100 at 172.30.110.225:5060 Standard EXECUTE > > *EXECUTE sofia/internal/+18014712100 at 172.30.110.225:5060conference(conf_uuid-TEST_CON) > * > > 2010-03-11 14:30:45.730985 [DEBUG] mod_conference.c:5671 Installing default > caller control action 'mute' bound to '0'. > > 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr.c:1616 max len 1 > > 2010-03-11 14:30:45.730985 [DEBUG] switch_ivr.c:1620 min len 1 > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > 2010-03-11 14:30:45.733291 [DEBUG] switch_core_codec.c:122 sofia/internal/+ > 18014712100 at 172.30.110.225:5060 Push codec L16:10 > > 2010-03-11 14:30:45.733291 [DEBUG] switch_core_session.c:638 Send signal > sofia/internal/+18014712100 at 172.30.110.225:5060 [BREAK] > > 2010-03-11 14:30:45.733291 [DEBUG] mod_conference.c:2202 Setup timer soft > success interval: 20 samples: 160 > > *2010-03-11 14:30:45.733291 [NOTICE] mod_conference.c:2213 Channel > [sofia/internal/+18014712100 at 172.30.110.225:5060] has been answered* > > * NOTE: The above line is where CHANNEL_ANSWER event gets generated, but > the call is not answered until about 10 seconds later (in this case). See > below.* > > 2010-03-11 14:30:45.733291 [DEBUG] mod_conference.c:2316 Outbound > conference channel answered, setting CFLAG_ANSWERED > > 2010-03-11 14:30:45.735363 [DEBUG] mod_conference.c:994 Setup timer success > interval: 20 samples: 160 > > 2010-03-11 14:30:46.232841 [DEBUG] switch_rtp.c:2055 Correct ip/port > confirmed. > > 2010-03-11 14:30:48.494337 [DEBUG] mod_local_stream.c:421 Opening Stream > [moh/8000] 8000hz > > * NOTE: The 200 OK came ~10 seconds after the above ?Channel > [sofia/internal/+18014712100 at 172.30.110.225:5060] has been answered? > message* > > recv 830 bytes from udp/[172.30.110.225]:5060 at 19:30:55.520491: > > ------------------------------------------------------------------------ > > * SIP/2.0 200 OK* > > v:SIP/2.0/UDP > 10.50.48.232;branch=z9hG4bKXQaS3DB27ypra;received=10.50.48.232;rport=5060 > > f:"" > >;tag=Bgv1HtFKD6UUK > > t: >;tag=887148b37ae7121417289eefaa340e22 > > i:6db7a397-a7e7-122d-84b6-001279948854 > > * <<< Deleted here for shorter version ? full log in enclosed file>>>* > > > > > > > > *From the enclosed Event logs [Early_CHANNEL_ANSWER_EVENTS.txt]* > > > > loop = 17 > > Event-Name: *CHANNEL_ANSWER* > > Core-UUID: 3920497f-8c61-401e-85b2-8693bcf0a428 > > FreeSWITCH-Hostname: tpa-es-rh-232.dev.sipstorm.com > > FreeSWITCH-IPv4: 10.50.48.232 > > FreeSWITCH-IPv6: %3A%3A1 > > Event-Date-Local: *2010-03-11* *14*:*30*:*45* > > *[NOTE: 14:30:45] ? time of the 2010-03-11 14:30:45.733291 [NOTICE] > mod_conference.c:2213 Channel [sofia/internal/+ > 18014712100 at 172.30.110.225:5060] has been answered* > > Event-Date-GMT: Thu,%2011%20Mar%202010%2019%3A30%3A45%20GMT > > Event-Date-Timestamp: 1268335845733291 > > Event-Calling-File: switch_channel.c > > Event-Calling-Function: switch_channel_perform_mark_answered > > Event-Calling-Line-Number: 2283 > > Channel-State: CS_EXECUTE > > Channel-State-Number: 4 > > Channel-Name: sofia/internal/%2B18014712100%40172.30.110.225%3A5060 > > Unique-ID: 8a0782ef-fb06-4fa7-9441-ddcc65f08b4a > > Call-Direction: outbound > > Presence-Call-Direction: outbound > > Answer-State: answered > > Channel-Read-Codec-Name: L16 > > Channel-Read-Codec-Rate: 8000 > > Channel-Write-Codec-Name: PCMU > > Channel-Write-Codec-Rate: 8000 > > Caller-Dialplan: inline > > Caller-Caller-ID-Number: 0000000000 > > Caller-Network-Addr: 172.30.110.225 > > Caller-Destination-Number: %2B18014712100 > > Caller-Unique-ID: 8a0782ef-fb06-4fa7-9441-ddcc65f08b4a > > Caller-Source: src/switch_ivr_originate.c > > Caller-Context: default > > Caller-Channel-Name: sofia/internal/%2B18014712100%40172.30.110.225%3A5060 > > Caller-Profile-Index: 2 > > Caller-Profile-Created-Time: 1268335845730985 > > Caller-Channel-Created-Time: 1268335844785190 > > Caller-Channel-Answered-Time: *1268335845733291* > > Caller-Channel-Progress-Time: 0 > > Caller-Channel-Progress-Media-Time: 1268335845729007 > > Caller-Channel-Hangup-Time: 0 > > Caller-Channel-Transfer-Time: 0 > > Caller-Screen-Bit: true > > Caller-Privacy-Hide-Name: false > > Caller-Privacy-Hide-Number: false > > variable_is_outbound: true > > variable_uuid: 8a0782ef-fb06-4fa7-9441-ddcc65f08b4a > > variable_sip_profile_name: 10.50.48.232 > > variable_channel_name: > sofia/internal/%2B18014712100%40172.30.110.225%3A5060 > > variable_sip_destination_url: sip%3A%2B18014712100%40172.30.110.225%3A5060 > > variable_originate_early_media: true > > variable_sip_local_sdp_str: > v%3D0%0Ao%3DFreeSWITCH%201268303198%201268303199%20IN%20IP4%2010.50.48.232%0As%3DFreeSWITCH%0Ac%3DIN%20IP4%2010.50.48.232%0At%3D0%200%0Am%3Daudio%2032646%20RTP/AVP%200%20101%2013%0Aa%3Drtpmap%3A0%20PCMU/8000%0Aa%3Drtpmap%3A101%20telephone-event/8000%0Aa%3Dfmtp%3A101%200-16%0Aa%3Drtpmap%3A13%20CN/8000%0Aa%3Dptime%3A20%0Aa%3Dsendrecv%0A > > variable_sip_outgoing_contact_uri: > %3Csip%3Amod_sofia%4010.50.48.232%3A5060%3E > > variable_sip_req_uri: %2B18014712100%40172.30.110.225%3A5060 > > variable_sofia_profile_name: internal > > variable_sip_reply_host: 172.30.110.225 > > variable_sip_reply_port: 5060 > > variable_sip_network_ip: 172.30.110.225 > > variable_sip_network_port: 5060 > > variable_sip_full_via: > SIP/2.0/UDP%2010.50.48.232%3Bbranch%3Dz9hG4bKXQaS3DB27ypra%3Breceived%3D10.50.48.232%3Brport%3D5060 > > variable_sip_full_from: > %22%22%20%3Csip%3A0000000000%4010.50.48.232%3E%3Btag%3DBgv1HtFKD6UUK > > variable_sip_full_to: > %3Csip%3A%2B18014712100%40172.30.110.225%3A5060%3E%3Btag%3D887148b37ae7121417289eefaa340e22 > > variable_sip_from_user: 0000000000 > > variable_sip_from_uri: 0000000000%4010.50.48.232 > > variable_sip_from_host: 10.50.48.232 > > variable_sip_to_user: %2B18014712100 > > variable_sip_to_port: 5060 > > variable_sip_to_uri: %2B18014712100%40172.30.110.225%3A5060 > > variable_sip_to_host: 172.30.110.225 > > variable_sip_contact_params: transport%3Dudp > > variable_sip_contact_user: 0-04370ee113c407043dff > > variable_sip_contact_port: 5060 > > variable_sip_contact_uri: 0-04370ee113c407043dff%40172.30.110.225%3A5060 > > variable_sip_contact_host: 172.30.110.225 > > variable_sip_to_tag: 887148b37ae7121417289eefaa340e22 > > variable_sip_from_tag: Bgv1HtFKD6UUK > > variable_sip_cseq: 128049586 > > variable_sip_call_id: 6db7a397-a7e7-122d-84b6-001279948854 > > variable_switch_r_sdp: > v%3D0%0D%0Ao%3DSonus_UAC%20536801%2053680100%20IN%20IP4%2065.59.218.161%0D%0As%3DSIP%20Media%20Capabilities%0D%0Ac%3DIN%20IP4%2065.59.218.161%0D%0At%3D0%200%0D%0Am%3Daudio%2059838%20RTP/AVP%200%20101%0D%0Aa%3Drtpmap%3A0%20PCMU/8000%0D%0Aa%3Drtpmap%3A101%20telephone-event/8000%0D%0Aa%3Dfmtp%3A101%200-15%0D%0Aa%3Dmaxptime%3A20%0D%0A > > variable_sip_use_codec_name: PCMU > > variable_sip_use_codec_rate: 8000 > > variable_sip_use_codec_ptime: 20 > > variable_write_codec: PCMU > > variable_write_rate: 8000 > > variable_local_media_ip: 10.50.48.232 > > variable_local_media_port: 32646 > > variable_sip_use_pt: 0 > > variable_rtp_use_ssrc: 2908074324 > > variable_remote_media_ip: 65.59.218.161 > > variable_remote_media_port: 59838 > > variable_endpoint_disposition: EARLY%20MEDIA > > variable_max_forwards: 70 > > variable_current_application_data: conf_uuid-TEST_CON > > variable_current_application: conference > > variable_conference_name: conf_uuid-TEST_CON > > variable_read_codec: L16 > > variable_read_rate: 8000 > > > > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100311/5522234c/attachment-0001.html From Suneel.Papineni at mettoni.com Fri Mar 12 07:37:11 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Fri, 12 Mar 2010 15:37:11 -0000 Subject: [Freeswitch-dev] From header with 0000000000 In-Reply-To: <191c3a031003111013s123f10f6qcde6abb47026ee81@mail.gmail.com> References: <3181A30B8C35AB4AA8577B78DDF461380696BA90@nickel.mettonigroup.com> <191c3a031003111013s123f10f6qcde6abb47026ee81@mail.gmail.com> Message-ID: <3181A30B8C35AB4AA8577B78DDF461380696BD8E@nickel.mettonigroup.com> Thanks Anthony... From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: 11 March 2010 18:13 To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] From header with 0000000000 api originate {origination_caller_id_number=12121231234}sofia/softphone/1004 at 172.22.25 2.124 9999 On Thu, Mar 11, 2010 at 11:56 AM, Suneel Papineni wrote: Hi, This might be a basic question, but could you please let me know why I am getting "0000000000" as Caller-Caller-ID-Number (This is appearing in >From header as well) and with out From username when I am issuing following command to originate a call. api originate sofia/softphone/1004 at 172.22.252.124 9999 This could be a setting I need to make before making call. Thanks & Regards Suneel ************************************************************************ * Please consider the environment before printing this e-mail ************************************************************************ * This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************ * _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100312/b67f5e05/attachment.html From Suneel.Papineni at mettoni.com Fri Mar 12 08:37:38 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Fri, 12 Mar 2010 16:37:38 -0000 Subject: [Freeswitch-dev] Attended Call Transfer Message-ID: <3181A30B8C35AB4AA8577B78DDF461380696BDE6@nickel.mettonigroup.com> Hi, I am trying to establish an attended call transfer scenario as follows: A call is made from extension1 to FSComm (Call 1) and is answered. Now another call is made from FSComm to extension2 and is answered (Call 2). I want to transfer the call between extension1 and extension2. For this I tried to use "uuid_bridge" command at FSComm and is issued through event sockets to FSComm as: "api uuid_bridge ". This connected both the extensions and FSComm is out of loop for RTP. This achieved call transfer feature, but my issue is as follows. When I saw number of calls at FSComm (using "api show calls" command), it has shown 0 calls, that is correct. Where as when I look for number of channels (using "api show channels" command), it displayed as 2 with details of current call between two extensions (i.e. A-leg of Call 1 and B-leg of Call 2). It means FSComm didn't come out of loop completely and is occupying the two channels. Could you please let me know how can I make FSComm to come out of loop completely, so that I can accept/make another call at FSComm from/to different extension. (I tried to kill the channel at FSComm, but this is clearing the call between extensions completely) I tried to use "uuid_deflect" command, but that is useful in Blind transfer and not in attended transfer. Also tried with "uuid_transfer" command but failed to achieve. Could someone please let me know if there is any other method to achieve this attended transfer scenario. Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100312/5299965c/attachment.html From anthony.minessale at gmail.com Fri Mar 12 08:52:19 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Fri, 12 Mar 2010 10:52:19 -0600 Subject: [Freeswitch-dev] Attended Call Transfer In-Reply-To: <3181A30B8C35AB4AA8577B78DDF461380696BDE6@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF461380696BDE6@nickel.mettonigroup.com> Message-ID: <191c3a031003120852j3ed667d7m4f640bdfd8c14750@mail.gmail.com> try uuid_simplify instead On Fri, Mar 12, 2010 at 10:37 AM, Suneel Papineni < Suneel.Papineni at mettoni.com> wrote: > Hi, > > > > I am trying to establish an attended call transfer scenario as follows: > > > > A call is made from extension1 to FSComm (Call 1) and is answered. Now > another call is made from FSComm to extension2 and is answered (Call 2). I > want to transfer the call between extension1 and extension2. For this I > tried to use ?uuid_bridge? command at FSComm and is issued through event > sockets to FSComm as: > > "api uuid_bridge ". > > This connected both the extensions and FSComm is out of loop for RTP. This > achieved call transfer feature, but my issue is as follows. > > > > When I saw number of calls at FSComm (using ?api show calls? command), it > has shown 0 calls, that is correct. Where as when I look for number of > channels (using ?api show channels? command), it displayed as 2 with details > of current call between two extensions (i.e. A-leg of Call 1 and B-leg of > Call 2). It means FSComm didn't come out of loop completely and is occupying > the two channels. > > > > Could you please let me know how can I make FSComm to come out of loop > completely, so that I can accept/make another call at FSComm from/to > different extension. (I tried to kill the channel at FSComm, but this is > clearing the call between extensions completely) > > > > I tried to use ?uuid_deflect? command, but that is useful in Blind transfer > and not in attended transfer. Also tried with ?uuid_transfer? command but > failed to achieve. > > > > Could someone please let me know if there is any other method to achieve > this attended transfer scenario. > > > > Thanks & Regards > > Suneel > > > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > ************************************************************************* > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100312/fc8ef2c6/attachment-0001.html From m.sobkow at marketelsystems.com Sat Mar 13 17:00:10 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Sat, 13 Mar 2010 19:00:10 -0600 Subject: [Freeswitch-dev] JIRA Commented: (DP-15) uuid_record not working In-Reply-To: <2117451631.1268525585069.JavaMail.root@jira-01> References: <2117451631.1268525585069.JavaMail.root@jira-01> Message-ID: <4B9C351A.1020207@marketelsystems.com> An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100313/0ac37f74/attachment.html From brian at freeswitch.org Sat Mar 13 17:12:05 2010 From: brian at freeswitch.org (Brian West) Date: Sat, 13 Mar 2010 19:12:05 -0600 Subject: [Freeswitch-dev] JIRA Commented: (DP-15) uuid_record not working In-Reply-To: <4B9C351A.1020207@marketelsystems.com> References: <2117451631.1268525585069.JavaMail.root@jira-01> <4B9C351A.1020207@marketelsystems.com> Message-ID: <6E00DF76-2E51-479F-9F22-7969246DC31C@freeswitch.org> Chances are you're doing something silly like trying to uuid_record a proxy_media session or a bypass media session .. I can 100% confirm that uuid_record does work. /b On Mar 13, 2010, at 7:00 PM, Mark Sobkow wrote: > Anthony Minessale II (JIRA) wrote: >> >> [ http://jira.freeswitch.org/browse/DP-15?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19666#action_19666 ] >> >> Anthony Minessale II commented on DP-15: >> ---------------------------------------- >> >> I would appriciate a little more leg work than this. >> What is this output from that you pasted here? >> > It's the debug output produced by the syslog:debug statements in the code fragment I included. >> Did you capture the exact command you are actually sending to fs? >> > api( uuid_record, "OperatorUUID /var/spool/pursuit/pursuit-20100312_172020.gsm" ) >> Do you have any debug output from fs itself on debug log level? >> > I run Freeswitch with full debugging enabled, and had fs_cli open at the time. However, it didn't produce any messages that seemed relevant, such as the start recording events that I used to see with the previous SVN. >> I am going to guess there is a lot more info you could have captured before dumping your issue off on our doorstep. >> >> > Sorry if it seems that way. I did spend over a day updating Freeswitch to the latest SVN trunk, was informed of the need to upgrade Wanpipe along the way, wrassled with that (mainly due to our build system, not because of Freeswitch), and then retested this morning. > > I could include gobs of logfile output about the calls being established, the UUIDs associated with them, and a walkthrough about what I was doing with the phone system at the time, but that seemed to be information overload that had little to do with the core problem. > > In short, the operator logs in to the system with a PIN code and is put on hold waiting for a customer to call in or for an automated callback to be processed. They're then bridged to the customer (works), and I try to start recording the call with uuid_record. When they're done the call (customer hangs up), the operator call is redirected to a play_and_get_digits dialplan fragment, which routes the result code to another Erlang callback that calculates the duration of the call, records the result code, and issues a uuid_record stop command before placing the operator back on hold, waiting for the next customer. > > I'd be happy to rerun the tests and capture the full fs_cli log for you, if it would be of help. However, as I mentioned, I didn't see anything in those log statements about call recordings. With over twenty years of programming under my belt, I do understand the importance of providing relevant information to debug a problem, but I also know better than to just blindly attach entire log files full of what is essentially garbage relevant to the problem. >>> uuid_record not working >>> ----------------------- >>> >>> Key: DP-15 >>> URL: http://jira.freeswitch.org/browse/DP-15 >>> Project: Dialplan Modules >>> Issue Type: Bug >>> Environment: Ubuntu Hardy 32-bit >>> Reporter: Mark Sobkow >>> Assignee: Anthony Minessale II >>> Priority: Major >>> >>> When I try to record a call as follows, I get an error from Freeswitch. With svn16569, it would do the first recording request and error out on subsequent requests for a long-lived operator session that gets bridged to multiple customers over the course of a day. Now it's refusing to record even the first session with svn16972. >>> recordCall( Operator ) -> >>> { ok, DialerSpoolMsgDir } = mnesia_sofia:getSofiaConfigValue( dialerSpoolMsgDir ), >>> { ok, DialerSpoolMsgPrefix } = mnesia_sofia:getSofiaConfigValue( dialerSpoolMsgPrefix ), >>> { ok, DialerSpoolMsgType } = mnesia_sofia:getSofiaConfigValue( dialerSpoolMsgType ), >>> {{ Year, Month, Day }, { Hour, Min, Sec }} = erlang:localtime(), >>> Timestamp = lists:flatten( >>> io_lib:format( "~4.10.0B~2.10.0B~2.10.0B_~2.10.0B~2.10.0B~2.10.0B", >>> [Year, Month, Day, Hour, Min, Sec] ) ), >>> FullFileName = DialerSpoolMsgDir ++ "/" >>> ++ DialerSpoolMsgPrefix ++ "-" ++ Timestamp ++ "." ++ DialerSpoolMsgType, >>> syslog:info( "pbx_bridge:recordCall() Recording call to ~s~n", [FullFileName] ), >>> RecordResult = pbx:api( uuid_record, Operator#pbx_operator_registry.operator_uuid ++ " start " ++ FullFileName ), >>> syslog:debug( "pbx_bridge:recordCall() RecordResult is ~p~n", [RecordResult] ), >>> Operator#pbx_operator_registry{ record_file_name=FullFileName }. >>> 2010-03-12 17:20:20 DEBUG <0.645.0>: pbx_bridge:bridgeOperatorAndCustomer() Record all calls is true >>> 2010-03-12 17:20:20 INFO <0.645.0>: pbx_bridge:recordCall() Recording call to /var/spool/pursuit/pursuit-20100312_172020.gsm >>> 2010-03-12 17:20:20 DEBUG <0.645.0>: pbx:api() Sent to Pid <0.894.0> >>> 2010-03-12 17:20:20 DEBUG <0.645.0>: pbx_bridge:recordCall() RecordResult is {error, >>> "-ERR Cannot record session!\n"} >>> >> >> > > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100313/7440e4c8/attachment.html From gmaruzz at celliax.org Mon Mar 15 01:15:55 2010 From: gmaruzz at celliax.org (Giovanni Maruzzelli) Date: Mon, 15 Mar 2010 09:15:55 +0100 Subject: [Freeswitch-dev] Skypiax has been renamed as Skypopen Message-ID: <7b197bef1003150115la6f9540l77e0de601d1ce0f9@mail.gmail.com> Ciao FreeSWITCHers, is with pleasure that we're announcing the renaming of mod_skypiax module to mod_skypopen. The new wiki page is at http://wiki.freeswitch.org/wiki/Mod_skypopen_Skype_Endpoint_and_Trunk To upgrade from a previous Skypiax installation, please read: http://wiki.freeswitch.org/wiki/Mod_skypopen_Skype_Endpoint_and_Trunk#Upgrading_from_Skypiax Many many many thanks to the wonderful FreeSWITCH team that make it all happens! -giovanni -- Sincerely, Giovanni Maruzzelli Cell : +39-347-2665618 From Suneel.Papineni at mettoni.com Mon Mar 15 10:08:43 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Mon, 15 Mar 2010 17:08:43 -0000 Subject: [Freeswitch-dev] Attended Call Transfer In-Reply-To: <191c3a031003120852j3ed667d7m4f640bdfd8c14750@mail.gmail.com> References: <3181A30B8C35AB4AA8577B78DDF461380696BDE6@nickel.mettonigroup.com> <191c3a031003120852j3ed667d7m4f640bdfd8c14750@mail.gmail.com> Message-ID: <3181A30B8C35AB4AA8577B78DDF461380696C185@nickel.mettonigroup.com> Hi Anthony, Could you please explain me how can use uuid_simlify to achieve Attended call transfer. I tried with many combinations, but unable to achieve what I have explained below. Or guide me to respective wiki page. Mod_Commands wiki page doesn't explain much about this command. Thanks & Regards Suneel From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Anthony Minessale Sent: 12 March 2010 16:52 To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] Attended Call Transfer try uuid_simplify instead On Fri, Mar 12, 2010 at 10:37 AM, Suneel Papineni wrote: Hi, I am trying to establish an attended call transfer scenario as follows: A call is made from extension1 to FSComm (Call 1) and is answered. Now another call is made from FSComm to extension2 and is answered (Call 2). I want to transfer the call between extension1 and extension2. For this I tried to use "uuid_bridge" command at FSComm and is issued through event sockets to FSComm as: "api uuid_bridge ". This connected both the extensions and FSComm is out of loop for RTP. This achieved call transfer feature, but my issue is as follows. When I saw number of calls at FSComm (using "api show calls" command), it has shown 0 calls, that is correct. Where as when I look for number of channels (using "api show channels" command), it displayed as 2 with details of current call between two extensions (i.e. A-leg of Call 1 and B-leg of Call 2). It means FSComm didn't come out of loop completely and is occupying the two channels. Could you please let me know how can I make FSComm to come out of loop completely, so that I can accept/make another call at FSComm from/to different extension. (I tried to kill the channel at FSComm, but this is clearing the call between extensions completely) I tried to use "uuid_deflect" command, but that is useful in Blind transfer and not in attended transfer. Also tried with "uuid_transfer" command but failed to achieve. Could someone please let me know if there is any other method to achieve this attended transfer scenario. Thanks & Regards Suneel ************************************************************************ * Please consider the environment before printing this e-mail ************************************************************************ * This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************ * _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100315/f9b71cb6/attachment-0001.html From anthony.minessale at gmail.com Mon Mar 15 10:34:00 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Mon, 15 Mar 2010 11:34:00 -0600 Subject: [Freeswitch-dev] Attended Call Transfer In-Reply-To: <3181A30B8C35AB4AA8577B78DDF461380696C185@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF461380696BDE6@nickel.mettonigroup.com> <191c3a031003120852j3ed667d7m4f640bdfd8c14750@mail.gmail.com> <3181A30B8C35AB4AA8577B78DDF461380696C185@nickel.mettonigroup.com> Message-ID: <191c3a031003151034o6dd664e4wb1652341c1295ff1@mail.gmail.com> If you have a bridge spanning 2 boxes phone1 ----> |FS1| ----> |FS2| phone2 <---- |FS1| <----- |FS2| you can run uuid_simplify on either uuid on FS1 to do a refer+replaces to the 2nd FS so the call is bridged on that box and both legs on your box1 are hungup. phone1 -----> |FS2| phone2 <----- |FS2| On Mon, Mar 15, 2010 at 11:08 AM, Suneel Papineni < Suneel.Papineni at mettoni.com> wrote: > Hi Anthony, > > > > Could you please explain me how can use uuid_simlify to achieve Attended > call transfer. I tried with many combinations, but unable to achieve what I > have explained below. > > > > Or guide me to respective wiki page. Mod_Commands wiki page doesn?t explain > much about this command. > > > > Thanks & Regards > > Suneel > > > > > > *From:* freeswitch-dev-bounces at lists.freeswitch.org [mailto: > freeswitch-dev-bounces at lists.freeswitch.org] *On Behalf Of *Anthony > Minessale > *Sent:* 12 March 2010 16:52 > *To:* freeswitch-dev at lists.freeswitch.org > *Subject:* Re: [Freeswitch-dev] Attended Call Transfer > > > > try uuid_simplify instead > > On Fri, Mar 12, 2010 at 10:37 AM, Suneel Papineni < > Suneel.Papineni at mettoni.com> wrote: > > Hi, > > > > I am trying to establish an attended call transfer scenario as follows: > > > > A call is made from extension1 to FSComm (Call 1) and is answered. Now > another call is made from FSComm to extension2 and is answered (Call 2). I > want to transfer the call between extension1 and extension2. For this I > tried to use ?uuid_bridge? command at FSComm and is issued through event > sockets to FSComm as: > > "api uuid_bridge ". > > This connected both the extensions and FSComm is out of loop for RTP. This > achieved call transfer feature, but my issue is as follows. > > > > When I saw number of calls at FSComm (using ?api show calls? command), it > has shown 0 calls, that is correct. Where as when I look for number of > channels (using ?api show channels? command), it displayed as 2 with details > of current call between two extensions (i.e. A-leg of Call 1 and B-leg of > Call 2). It means FSComm didn't come out of loop completely and is occupying > the two channels. > > > > Could you please let me know how can I make FSComm to come out of loop > completely, so that I can accept/make another call at FSComm from/to > different extension. (I tried to kill the channel at FSComm, but this is > clearing the call between extensions completely) > > > > I tried to use ?uuid_deflect? command, but that is useful in Blind transfer > and not in attended transfer. Also tried with ?uuid_transfer? command but > failed to achieve. > > > > Could someone please let me know if there is any other method to achieve > this attended transfer scenario. > > > > Thanks & Regards > > Suneel > > > > ************************************************************************* > > Please consider the environment before printing this e-mail > > ************************************************************************* > > This email and any files transmitted with it are confidential and > > intended solely for the use of the individual or entity to whom they > > are addressed. If you have received this email in error please notify > > the system manager. http://www.mettoni.com > > > > Mettoni Ltd > > Registered in England and Wales: 4485956 > > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > > ************************************************************************* > > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > ************************************************************************* > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100315/55f108e3/attachment.html From waleedot2003 at gmail.com Mon Mar 15 04:29:52 2010 From: waleedot2003 at gmail.com (Waleed) Date: Mon, 15 Mar 2010 14:29:52 +0300 Subject: [Freeswitch-dev] Offline Message Module Message-ID: <6a29f4391003150429p3c31a69aj9c7f13c06ad4b958@mail.gmail.com> hello All i want to build application module that let FS to send IM message to the user when another user try to call him and he is Off-line or not registered now , can any one help me ? :) thanks & regards -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100315/1b060c20/attachment.html From msc at freeswitch.org Mon Mar 15 11:52:31 2010 From: msc at freeswitch.org (Michael Collins) Date: Mon, 15 Mar 2010 10:52:31 -0800 Subject: [Freeswitch-dev] FreeSWITCH Conf Call Agenda Message-ID: <87f2f3b91003151152s1acc22f4ydf45f2e6630673b3@mail.gmail.com> Hello all, The agenda for Wednesday's conference call is now up: http://wiki.freeswitch.org/wiki/FS_weekly_2010_03_17 We could use some more content. Also, we would love to have a volunteer discuss one of the FreeSWITCH modules or some other FS feature that he/she uses. If you have any thoughts or suggestions please email me off list. Thanks! -MC -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100315/51dec772/attachment.html From scaram at hotmail.de Tue Mar 16 04:47:38 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Tue, 16 Mar 2010 12:47:38 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session Message-ID: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } _________________________________________________________________ http://redirect.gimas.net/?n=M1003xHM5Adressen2 Ein Postfach f?r Alles ? ?bei Hotmail 5 E-Mail-Adressen online verwalten! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/f7c6970d/attachment.html From anthony.minessale at gmail.com Tue Mar 16 06:34:18 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Tue, 16 Mar 2010 08:34:18 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: Message-ID: <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/0e15617c/attachment-0001.html From scaram at hotmail.de Tue Mar 16 06:51:08 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Tue, 16 Mar 2010 14:51:08 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> References: , <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> Message-ID: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xHotmail2 Alles in einem Postfach ? Ich will Hotmail! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/45793f0c/attachment.html From Claudio.Cavalera at italtel.it Tue Mar 16 08:11:18 2010 From: Claudio.Cavalera at italtel.it (Cavalera Claudio Luigi) Date: Tue, 16 Mar 2010 16:11:18 +0100 Subject: [Freeswitch-dev] C library and threads within openwrt Message-ID: Hello, I'm still working with freeswitch inside openwrt build system. What C library do you advise among these possibilities: 1) uclibc with linuxthreads-old 2) uclibc with NPTL 3) glibc (I guess this implements NPTL) I'm asking this because I know freeswitch heavy relies on threads and I've experienced some fun behaviour :-) Thanks, Claudio Internet Email Confidentiality Footer ----------------------------------------------------------------------------------------------------- La presente comunicazione, con le informazioni in essa contenute e ogni documento o file allegato, e' rivolta unicamente alla/e persona/e cui e' indirizzata ed alle altre da questa autorizzata/e a riceverla. Se non siete i destinatari/autorizzati siete avvisati che qualsiasi azione, copia, comunicazione, divulgazione o simili basate sul contenuto di tali informazioni e' vietata e potrebbe essere contro la legge (art. 616 C.P., D.Lgs n. 196/2003 Codice in materia di protezione dei dati personali). Se avete ricevuto questa comunicazione per errore, vi preghiamo di darne immediata notizia al mittente e di distruggere il messaggio originale e ogni file allegato senza farne copia alcuna o riprodurne in alcun modo il contenuto. This e-mail and its attachments are intended for the addressee(s) only and are confidential and/or may contain legally privileged information. If you have received this message by mistake or are not one of the addressees above, you may take no action based on it, and you may not copy or show it to anyone; please reply to this e-mail and point out the error which has occurred. ----------------------------------------------------------------------------------------------------- From tculjaga at gmail.com Tue Mar 16 10:04:10 2010 From: tculjaga at gmail.com (Tihomir Culjaga) Date: Tue, 16 Mar 2010 18:04:10 +0100 Subject: [Freeswitch-dev] stop/start RTP Message-ID: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> is there any way to stop/start RTP traffic on an active call? e.g. some API call or event that can be triggered through event socket ? T. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/f5b7f889/attachment.html From anthony.minessale at gmail.com Tue Mar 16 10:15:03 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Tue, 16 Mar 2010 12:15:03 -0500 Subject: [Freeswitch-dev] stop/start RTP In-Reply-To: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> References: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> Message-ID: <191c3a031003161015r7704b01k77cdb6c36536fbf3@mail.gmail.com> uuid_hold might On Tue, Mar 16, 2010 at 12:04 PM, Tihomir Culjaga wrote: > is there any way to stop/start RTP traffic on an active call? > > > e.g. some API call or event that can be triggered through event socket ? > > > > T. > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/ae94cae7/attachment.html From anthony.minessale at gmail.com Tue Mar 16 11:59:28 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Tue, 16 Mar 2010 13:59:28 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> Message-ID: <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/e370bd10/attachment-0001.html From james.gledhill at sipstorm.com Tue Mar 16 14:03:22 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Tue, 16 Mar 2010 17:03:22 -0400 Subject: [Freeswitch-dev] esljni.dll In-Reply-To: <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> Message-ID: Does anyone have a esljni.dll already built they can send me. I do not have the background to build it on Windows, but want to run it from Windows. I have it working on Linux, but need the dll for Windows. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/c920c923/attachment.html From brian at freeswitch.org Tue Mar 16 14:11:06 2010 From: brian at freeswitch.org (Brian West) Date: Tue, 16 Mar 2010 16:11:06 -0500 Subject: [Freeswitch-dev] esljni.dll In-Reply-To: References: Message-ID: I suspect its in the JDK/JNI dev kit you get from sun/oracle. Also DO NOT HIJACK threads. If you compose an email to this list please click NEW then input the address and send it. What you did was take an existing message and click reply, change the subject and delete the body. Please don't do that moving forward if you can keep from it. /b On Mar 16, 2010, at 4:03 PM, Gledhill, James wrote: > Does anyone have a esljni.dll already built they can send me. I do not have the background to build it on Windows, but want to run it from Windows. I have it working on Linux, but need the dll for Windows. > > Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/6b7a4b05/attachment.html From tculjaga at gmail.com Tue Mar 16 14:28:11 2010 From: tculjaga at gmail.com (Tihomir Culjaga) Date: Tue, 16 Mar 2010 22:28:11 +0100 Subject: [Freeswitch-dev] stop/start RTP In-Reply-To: <191c3a031003161015r7704b01k77cdb6c36536fbf3@mail.gmail.com> References: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> <191c3a031003161015r7704b01k77cdb6c36536fbf3@mail.gmail.com> Message-ID: <65d96fc81003161428r67c22557kbe4fb7ce44918099@mail.gmail.com> On Tue, Mar 16, 2010 at 6:15 PM, Anthony Minessale < anthony.minessale at gmail.com> wrote: > uuid_hold might > > > > Where do you store the information about established calls? Is it a core database or cache? lets suppose we have 2 FS servers sitting on top of a DB cluster. The left server has a floating (public) IP. This floating IP can be moved to the right server... according to the DB cluster, the right server should be aware of all ongoing established sessions so, we could send re-invite/update to both legs of every established call and perhaps use uuid_hold to make it start sending RTP? feasible? T. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/95c0b195/attachment.html From james.gledhill at sipstorm.com Tue Mar 16 14:46:33 2010 From: james.gledhill at sipstorm.com (Gledhill, James) Date: Tue, 16 Mar 2010 17:46:33 -0400 Subject: [Freeswitch-dev] esljni.dll In-Reply-To: Message-ID: What I am looking for is someone that has compiled the FreeSwitch Event Socket Library for Windows (fs_src/libs/esl/java -- and created the windows dll required to use with Java). To make JNI stuff work you need the java classes (independent of OS) and the JNI library (OS dependant). I can make and use the linux library, but not the Windows version. I was hoping someone had built it on Windows and could share. The VC++ 2008 stuff in that directory (src/libs/esl/) does not compile/link in the library for Windows. Sorry about the HIJACK. I was not aware. I will do differently (new vs reply) going forward. ________________________________ From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Brian West Sent: Tuesday, March 16, 2010 4:11 PM To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] esljni.dll I suspect its in the JDK/JNI dev kit you get from sun/oracle. Also DO NOT HIJACK threads. If you compose an email to this list please click NEW then input the address and send it. What you did was take an existing message and click reply, change the subject and delete the body. Please don't do that moving forward if you can keep from it. /b On Mar 16, 2010, at 4:03 PM, Gledhill, James wrote: Does anyone have a esljni.dll already built they can send me. I do not have the background to build it on Windows, but want to run it from Windows. I have it working on Linux, but need the dll for Windows. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/98ba4a89/attachment.html From vetali100 at gmail.com Tue Mar 16 10:19:03 2010 From: vetali100 at gmail.com (Vitalii Colosov) Date: Tue, 16 Mar 2010 19:19:03 +0200 Subject: [Freeswitch-dev] stop/start RTP In-Reply-To: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> References: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> Message-ID: can't this be used? uuid_media off http://wiki.freeswitch.org/wiki/Bypass_Media#How_to_disable.2Fenable_it_on_the_fly.3F 2010/3/16 Tihomir Culjaga > is there any way to stop/start RTP traffic on an active call? > > > e.g. some API call or event that can be triggered through event socket ? > > > > T. > > _______________________________________________ > 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 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/f131b463/attachment.html From brian at freeswitch.org Wed Mar 17 06:10:04 2010 From: brian at freeswitch.org (Brian West) Date: Wed, 17 Mar 2010 08:10:04 -0500 Subject: [Freeswitch-dev] stop/start RTP In-Reply-To: References: <65d96fc81003161004j614f8c6du6c4007b09835d385@mail.gmail.com> Message-ID: <59A42677-D168-455C-BBB6-64E22A66CBE8@freeswitch.org> No thats for bypass media on and off on demand. /b On Mar 16, 2010, at 12:19 PM, Vitalii Colosov wrote: > can't this be used? > uuid_media off > > http://wiki.freeswitch.org/wiki/Bypass_Media#How_to_disable.2Fenable_it_on_the_fly.3F -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100317/e7b299ce/attachment-0001.html From m.sobkow at marketelsystems.com Wed Mar 17 11:29:25 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Wed, 17 Mar 2010 12:29:25 -0600 Subject: [Freeswitch-dev] Woohoo! We have call recording working! Message-ID: <4BA11F85.8090803@marketelsystems.com> As per Andrew Thompson's suggestion, I changed the processing of the call recording to start recording as part of processing a CHANNEL_BRIDGE event. It turns out that (at least with Erlang) the call is not actually bridged when the api command to bridge a call returns ok; the ok only means the bridge command was successfully queued for processing, not that it's completed. I guess I wouldn't call this a bug with call recording, but it's definitely a "gotcha". -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow at marketelsystems.com Web: http://www.marketelsystems.com From vipkilla at gmail.com Wed Mar 17 14:23:02 2010 From: vipkilla at gmail.com (vip killa) Date: Wed, 17 Mar 2010 16:23:02 -0500 Subject: [Freeswitch-dev] FSComm and CELT incompatible destination Message-ID: <957f61371003171423r11ccc9f3pf5a96a9d0e2c7f89@mail.gmail.com> when i try to connect a call from FSComm to Freeswitch using the CELT codec i get incompatible destination. Is this because Freeswitch uses CELT 0.7.1 and FSComm uses a previous version? if this is the reason can someone update FSComm to CELT 0.7.1? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100317/43a909d1/attachment.html From william.suffill at gmail.com Wed Mar 17 14:40:04 2010 From: william.suffill at gmail.com (William Suffill) Date: Wed, 17 Mar 2010 17:40:04 -0400 Subject: [Freeswitch-dev] FSComm and CELT incompatible destination In-Reply-To: <957f61371003171423r11ccc9f3pf5a96a9d0e2c7f89@mail.gmail.com> References: <957f61371003171423r11ccc9f3pf5a96a9d0e2c7f89@mail.gmail.com> Message-ID: <6b65470d1003171440i3452a6f0gf1b80c79dd3a0aa4@mail.gmail.com> FSComm is actually an application that runs an embedded copy of the FreeSwitch core. Best to run fs_cli on both the box running FSComm and the freeswitch server and capture debug logs so we can more properly assist in diagnosing your problem. -- W -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100317/61fc0cdf/attachment.html From brian at freeswitch.org Wed Mar 17 14:48:31 2010 From: brian at freeswitch.org (Brian West) Date: Wed, 17 Mar 2010 16:48:31 -0500 Subject: [Freeswitch-dev] FSComm and CELT incompatible destination In-Reply-To: <6b65470d1003171440i3452a6f0gf1b80c79dd3a0aa4@mail.gmail.com> References: <957f61371003171423r11ccc9f3pf5a96a9d0e2c7f89@mail.gmail.com> <6b65470d1003171440i3452a6f0gf1b80c79dd3a0aa4@mail.gmail.com> Message-ID: <2866EADB-C021-4511-B8A1-93BADA436439@freeswitch.org> Chances are its the 10ms ptime ... see if your first codec list on the fs side is 20ms all others are removed from the list. /b On Mar 17, 2010, at 4:40 PM, William Suffill wrote: > FSComm is actually an application that runs an embedded copy of the FreeSwitch core. > > Best to run fs_cli on both the box running FSComm and the freeswitch server and capture debug logs so we can more properly assist in diagnosing your problem. > > -- W From msc at freeswitch.org Wed Mar 17 22:52:25 2010 From: msc at freeswitch.org (Michael Collins) Date: Wed, 17 Mar 2010 22:52:25 -0700 Subject: [Freeswitch-dev] Woohoo! We have call recording working! In-Reply-To: <4BA11F85.8090803@marketelsystems.com> References: <4BA11F85.8090803@marketelsystems.com> Message-ID: <87f2f3b91003172252u1096d350h833be1a6fef0a439@mail.gmail.com> On Wed, Mar 17, 2010 at 11:29 AM, Mark Sobkow wrote: > As per Andrew Thompson's suggestion, I changed the processing of the > call recording to start recording as part of processing a CHANNEL_BRIDGE > event. It turns out that (at least with Erlang) the call is not > actually bridged when the api command to bridge a call returns ok; the > ok only means the bridge command was successfully queued for processing, > not that it's completed. > > I guess I wouldn't call this a bug with call recording, but it's > definitely a "gotcha". > Nope, not a bug - that's by design. The transmission of the CHANNEL_BRIDGE event means it was successful. The OK+ from the API call to bridge simply means that the bridge command was successfully submitted for processing, not that the processing of it was successful. This is the power, beauty, and elegance of the event system in FS. Events tell you pretty much *everything* that is going on and you can pretty much do *anything* when you harness the power of events. -MC -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100317/5bb97d73/attachment.html From vetali100 at gmail.com Fri Mar 19 03:51:08 2010 From: vetali100 at gmail.com (Vitalii Colosov) Date: Fri, 19 Mar 2010 12:51:08 +0200 Subject: [Freeswitch-dev] **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** Message-ID: Hi, I've built last trunk today and am getting this error during FreeSWITCH loading. **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** Same error for mod_xml_cdr... Looks like it was fixed as per the following: http://jira.freeswitch.org/browse/FSBUILD-250 But error exists for me and I am not sure how to resolve it. *I tried to rebuild again and noticed the following warning (never seen this before...):* checking for curl... no checking for tgetent in -lncurses... yes checking openssl/tls1.h usability... no checking openssl/tls1.h presence... yes configure: WARNING: openssl/tls1.h: present but cannot be compiled configure: WARNING: openssl/tls1.h: check for missing prerequisite headers? configure: WARNING: openssl/tls1.h: see the Autoconf documentation configure: WARNING: openssl/tls1.h: section "Present But Cannot Be Compiled" configure: WARNING: openssl/tls1.h: proceeding with the compiler's result configure: WARNING: ## --------------------------------- ## configure: WARNING: ## Report this to BUG-REPORT-ADDRESS ## configure: WARNING: ## --------------------------------- ## checking for openssl/tls1.h... no configure: WARNING: OpenSSL include files were not found *Can this be the reason of error and (newbie question) how can I find OpenSSL include files?* Thank you, vIT -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/cff61100/attachment.html From vetali100 at gmail.com Fri Mar 19 04:25:45 2010 From: vetali100 at gmail.com (Vitalii Colosov) Date: Fri, 19 Mar 2010 13:25:45 +0200 Subject: [Freeswitch-dev] **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** In-Reply-To: References: Message-ID: Found the following in config.log configure:20286: checking openssl/tls1.h usability configure:20286: gcc -c -g -O2 conftest.c >&5 In file included from conftest.c:127: /usr/include/openssl/tls1.h:125: error: expected ';', ',' or ')' before '*' token /usr/include/openssl/tls1.h:126: error: expected ';', ',' or ')' before '*' token configure:20286: $? = 1 configure: failed program was: | /* confdefs.h */ My tls1.h in /usr/include had the following lines 125,126: const char *SSL_get_servername(const SSL *s, const int type) ; int SSL_get_servername_type(const SSL *s) ; Strange, these particular lines do not look wrong for me. I found same file in OpenSSL source and put instead of my file. It gives me the same compilation problem. Will compile FS without SSL. Any idea why this happens? Thank you, vIT 2010/3/19 Vitalii Colosov > Hi, > > I've built last trunk today and am getting this error during FreeSWITCH > loading. > **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: > SSL_connect** > Same error for mod_xml_cdr... > > Looks like it was fixed as per the following: > http://jira.freeswitch.org/browse/FSBUILD-250 > > But error exists for me and I am not sure how to resolve it. > > *I tried to rebuild again and noticed the following warning (never seen > this before...):* > > checking for curl... no > checking for tgetent in -lncurses... yes > checking openssl/tls1.h usability... no > checking openssl/tls1.h presence... yes > configure: WARNING: openssl/tls1.h: present but cannot be compiled > configure: WARNING: openssl/tls1.h: check for missing prerequisite > headers? > configure: WARNING: openssl/tls1.h: see the Autoconf documentation > configure: WARNING: openssl/tls1.h: section "Present But Cannot Be > Compiled" > configure: WARNING: openssl/tls1.h: proceeding with the compiler's result > configure: WARNING: ## --------------------------------- ## > configure: WARNING: ## Report this to BUG-REPORT-ADDRESS ## > configure: WARNING: ## --------------------------------- ## > checking for openssl/tls1.h... no > configure: WARNING: OpenSSL include files were not found > > > *Can this be the reason of error and (newbie question) how can I find > OpenSSL include files?* > > > Thank you, > vIT > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/9399363a/attachment.html From brian at freeswitch.org Fri Mar 19 06:23:46 2010 From: brian at freeswitch.org (Brian West) Date: Fri, 19 Mar 2010 08:23:46 -0500 Subject: [Freeswitch-dev] **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** In-Reply-To: References: Message-ID: Sounds like you are missing the OpenSSL devel package. /b On Mar 19, 2010, at 5:51 AM, Vitalii Colosov wrote: > Hi, > > I've built last trunk today and am getting this error during FreeSWITCH loading. > **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** > Same error for mod_xml_cdr... -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/bf28d2ad/attachment-0001.html From mike at jerris.com Fri Mar 19 06:24:19 2010 From: mike at jerris.com (Michael Jerris) Date: Fri, 19 Mar 2010 09:24:19 -0400 Subject: [Freeswitch-dev] **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** In-Reply-To: References: Message-ID: <15EAE2DF-B389-4E24-8CB1-ECF780B97AD8@jerris.com> SSL is an undefined type for whatever reason. It sounds like some sort of issue with your ssl install or conflicting stuff installed to your includes On Mar 19, 2010, at 7:25 AM, Vitalii Colosov wrote: > Found the following in config.log > > configure:20286: checking openssl/tls1.h usability > configure:20286: gcc -c -g -O2 conftest.c >&5 > In file included from conftest.c:127: > /usr/include/openssl/tls1.h:125: error: expected ';', ',' or ')' before '*' token > /usr/include/openssl/tls1.h:126: error: expected ';', ',' or ')' before '*' token > configure:20286: $? = 1 > configure: failed program was: > | /* confdefs.h */ > > > My tls1.h in /usr/include had the following lines 125,126: > const char *SSL_get_servername(const SSL *s, const int type) ; > int SSL_get_servername_type(const SSL *s) ; > Strange, these particular lines do not look wrong for me. > > I found same file in OpenSSL source and put instead of my file. > It gives me the same compilation problem. > > Will compile FS without SSL. > > Any idea why this happens? > > > Thank you, > vIT > > 2010/3/19 Vitalii Colosov > Hi, > > I've built last trunk today and am getting this error during FreeSWITCH loading. > **/usr/local/freeswitch/mod/mod_spidermonkey.so: undefined symbol: SSL_connect** > Same error for mod_xml_cdr... > > Looks like it was fixed as per the following: http://jira.freeswitch.org/browse/FSBUILD-250 > > But error exists for me and I am not sure how to resolve it. > > I tried to rebuild again and noticed the following warning (never seen this before...): > > checking for curl... no > checking for tgetent in -lncurses... yes > checking openssl/tls1.h usability... no > checking openssl/tls1.h presence... yes > configure: WARNING: openssl/tls1.h: present but cannot be compiled > configure: WARNING: openssl/tls1.h: check for missing prerequisite headers? > configure: WARNING: openssl/tls1.h: see the Autoconf documentation > configure: WARNING: openssl/tls1.h: section "Present But Cannot Be Compiled" > configure: WARNING: openssl/tls1.h: proceeding with the compiler's result > configure: WARNING: ## --------------------------------- ## > configure: WARNING: ## Report this to BUG-REPORT-ADDRESS ## > configure: WARNING: ## --------------------------------- ## > checking for openssl/tls1.h... no > configure: WARNING: OpenSSL include files were not found > > > Can this be the reason of error and (newbie question) how can I find OpenSSL include files? > > > Thank you, > vIT > > _______________________________________________ > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/b4dca5a7/attachment.html From Suneel.Papineni at mettoni.com Fri Mar 19 08:20:06 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Fri, 19 Mar 2010 15:20:06 -0000 Subject: [Freeswitch-dev] Conference with FSComm Message-ID: <3181A30B8C35AB4AA8577B78DDF46138069F8119@nickel.mettonigroup.com> Hi, I am trying to achieve 3-way (or 3-party) conference scenario using FSComm. Scenario is as follows: An incoming call comes to FSComm from an extension 'A' and is answered. Now FSComm makes a call to another extension 'B' and is answered. Then I want to bridge all three calls and be in conference. So all three parties A, B and FSComm will be in conference. Could someone please give me an idea how can I achieve this scenario using Event Sockets. (want to test with fs_cli using commands). Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/2ac95dc8/attachment.html From m.sobkow at marketelsystems.com Fri Mar 19 09:49:15 2010 From: m.sobkow at marketelsystems.com (Mark Sobkow) Date: Fri, 19 Mar 2010 10:49:15 -0600 Subject: [Freeswitch-dev] Woohoo! I'm done core coding! Message-ID: <4BA3AB0B.9040800@marketelsystems.com> Just thought I'd let you all know that I finished the core coding for our project ahead of schedule, thanks to Andrew's help. All that's left is testing, bug fixes, and client-side work for our applications. The Freeswitch integration core is done, done, done! Ah feel gud. Ah nu that ah wud! Ah feelz nice, like sugah an' spice! :D -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow at marketelsystems.com Web: http://www.marketelsystems.com From dave at 3c.co.uk Fri Mar 19 09:56:44 2010 From: dave at 3c.co.uk (David Knell) Date: Fri, 19 Mar 2010 10:56:44 -0600 Subject: [Freeswitch-dev] Woohoo! I'm done core coding! In-Reply-To: <4BA3AB0B.9040800@marketelsystems.com> References: <4BA3AB0B.9040800@marketelsystems.com> Message-ID: <1269017804.31795.61.camel@local.freepabx.com> > Just thought I'd let you all know that I finished the core coding for > our project ahead of schedule, thanks to Andrew's help. All that's left > is testing, bug fixes, and client-side work for our applications. The > Freeswitch integration core is done, done, done! Ah feel gud. Ah nu > that ah wud! Ah feelz nice, like sugah an' spice! :D Sounds to me like you need to get out from behind that monitor ;-) Congratulations, and have a top weekend. --Dave From anthony.minessale at gmail.com Fri Mar 19 10:04:58 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Fri, 19 Mar 2010 12:04:58 -0500 Subject: [Freeswitch-dev] Woohoo! I'm done core coding! In-Reply-To: <4BA3AB0B.9040800@marketelsystems.com> References: <4BA3AB0B.9040800@marketelsystems.com> Message-ID: <191c3a031003191004k50642c98p2a01840ab0af19b1@mail.gmail.com> Now you have more fun things to think about like ClueCon MMX! On Fri, Mar 19, 2010 at 11:49 AM, Mark Sobkow wrote: > Just thought I'd let you all know that I finished the core coding for > our project ahead of schedule, thanks to Andrew's help. All that's left > is testing, bug fixes, and client-side work for our applications. The > Freeswitch integration core is done, done, done! Ah feel gud. Ah nu > that ah wud! Ah feelz nice, like sugah an' spice! :D > > -- > Mark Sobkow > Senior Developer > MarkeTel Multi-Line Dialing Systems LTD. > 428 Victoria Ave > Regina, SK S4N-0P6 > Toll-Free: 800-289-8616-X533 > Local: 306-359-6893-X533 > Fax: 306-359-6879 > Email: m.sobkow at marketelsystems.com > Web: http://www.marketelsystems.com > > > _______________________________________________ > 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 > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/1f067550/attachment.html From Suneel.Papineni at mettoni.com Fri Mar 19 11:20:44 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Fri, 19 Mar 2010 18:20:44 -0000 Subject: [Freeswitch-dev] Conference with FSComm In-Reply-To: <3181A30B8C35AB4AA8577B78DDF46138069F8119@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF46138069F8119@nickel.mettonigroup.com> Message-ID: <3181A30B8C35AB4AA8577B78DDF46138069F81D9@nickel.mettonigroup.com> I am not sure if the following method works. Please let me know how could I implement this through event sockets. 'A' calls FSComm and FSComm calls 'B'. Now FSComm is having call details of all call legs. If possible FSComm now creates a conference and join all 3 call legs to the conference. This might solve the problem, but could you please let me know how can create a conference and join all the legs. Please let me know the commands for this. I checked with "mod_conference" module, unable to find respective commands. I tried "api conference....", it is saying command not found. I tried "conference....." command, it is also not working. Thanks & Regards Suneel From: freeswitch-dev-bounces at lists.freeswitch.org [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On Behalf Of Suneel Papineni Sent: 19 March 2010 15:20 To: freeswitch-dev at lists.freeswitch.org Cc: freeswitch-users at lists.freeswitch.org Subject: [Freeswitch-dev] Conference with FSComm Hi, I am trying to achieve 3-way (or 3-party) conference scenario using FSComm. Scenario is as follows: An incoming call comes to FSComm from an extension 'A' and is answered. Now FSComm makes a call to another extension 'B' and is answered. Then I want to bridge all three calls and be in conference. So all three parties A, B and FSComm will be in conference. Could someone please give me an idea how can I achieve this scenario using Event Sockets. (want to test with fs_cli using commands). Thanks & Regards Suneel ************************************************************************ * Please consider the environment before printing this e-mail ************************************************************************ * This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************ * ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100319/453fc6df/attachment-0001.html From scaram at hotmail.de Mon Mar 22 03:33:30 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Mon, 22 Mar 2010 11:33:30 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> References: , <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com>, , <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> Message-ID: I am now using the application interface and play a file after answering the call. The call is not connected to a another session, it's just a single session. SWITCH_STANDARD_APP(mod_my_function) { /* play audio file */ switch_ivr_play_file(session, NULL, "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", NULL); } Now the hooks for channel_write_frame and channel_read_frame are called! I write the audio frames into a file for testing if everything is correct. The data written in channel_write_frame seems to be perfect, but audio written in channel_read_frame only seems to be good at first sight. If I record 20 seconds of audio and listen to the audiofile I hear that 2 or 3 times short parts are missing. static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into a file fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) { // Spoken audio samples from my microphone are written, but sometimes samples are missing fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } Is it possible that I don't get all audio samples by hooked functions? why audio recorded in channel_write_frame is brilliant and in channel_read_frame not? Date: Tue, 16 Mar 2010 13:59:28 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xIMVideochat2 Treffe Freunde im Messenger Videochat! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100322/9b13f689/attachment.html From anthony.minessale at gmail.com Mon Mar 22 09:55:42 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Mon, 22 Mar 2010 11:55:42 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> Message-ID: <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> Why do you even need the hooks? What exactly are you trying to do? Maybe you should explain it. On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: > I am now using the application interface and play a file after answering > the call. The call is not connected to a another session, it's just a single > session. > > SWITCH_STANDARD_APP(mod_my_function) > { > /* play audio file */ > switch_ivr_play_file(session, NULL, > "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", > NULL); > } > > Now the hooks for channel_write_frame and channel_read_frame are called! I > write the audio frames into a file for testing if everything is correct. The > data written in channel_write_frame seems to be perfect, but audio written > in channel_read_frame only seems to be good at first sight. If I record 20 > seconds of audio and listen to the audiofile I hear that 2 or 3 times short > parts are missing. > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into > a file > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t **frame, switch_io_flag_t flags, int stream_id) > { > // Spoken audio samples from my microphone are written, but sometimes > samples are missing > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > } > > Is it possible that I don't get all audio samples by hooked functions? why > audio recorded in channel_write_frame is brilliant and in channel_read_frame > not? > > > > > > > ------------------------------ > Date: Tue, 16 Mar 2010 13:59:28 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you probably want to use the application interface and a while loop while > reading a frame. > > see most of the functions in switch_ivr_play_say > > > On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100322/96436b4d/attachment-0001.html From anthony.minessale at gmail.com Mon Mar 22 11:08:34 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Mon, 22 Mar 2010 13:08:34 -0500 Subject: [Freeswitch-dev] Now Hiring for CudaTEL UI Programmer Message-ID: <191c3a031003221108u1c502219qef68969a6656229@mail.gmail.com> As most people know, the CudaTEL uses FreeSWITCH internally as the telephony engine. We're now looking to expand the development team: We're looking for a UI programmer with jquery experience. See: http://jobs.jsninja.com/job/1598/jqueryjs-ui-developer-at-barracuda-networks/ Anyone interested, please apply to this forum or email jobs at freeswitch.org Thanks. -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100322/e507fecd/attachment.html From scaram at hotmail.de Mon Mar 22 16:23:50 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Tue, 23 Mar 2010 00:23:50 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> References: , <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com>, , <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com>, , <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> Message-ID: I have an selfmade software which is controlled by a telephone call (ISDN/CAPI). The user calls with his phone, gets connected and can speak commands which are detected by an internal speech recognizer. Furthermore the user can accept or hangup incoming calls just by his voice command. It is also possible to dial out. Now I am adding VOIP functionality to my system and decided to use FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP interface for my software. The module must be able to: 1. recognize an incoming call which is the users control session (single session) I do this in statehandler function channel_on_init. 2. pick up another incoming call and intercept with my users control session. 3. Get the audio data from voip session (user control session) and send it to my application (by own tcp-socket) My idea is to use channel_write_frame to receive audio. 3. Send audio data from my application to voip user control session so the user can hear audio. My idea is to use channel_read_frame. explanation for using hooks: ---------------------------- The endpoint interface callback functions where never called in my module, even I tried to adapt the way it is done in mod_portaudio. So my workaround was to set hook functions channel_read_frame/channel_write_frame to handle audio. My problems: ------------ The hook functions are working fine if I have 2 sessions (put together by switch_ivr_intercept_session), but if I only have the single user control session no hooked function is called. In this case the only way to achieve that hooks are called, is to play audio with switch_ivr_play_file. But then, audio samples got lost sometimes. Maybe there is a better way to solve my requirements? Date: Mon, 22 Mar 2010 11:55:42 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session Why do you even need the hooks? What exactly are you trying to do? Maybe you should explain it. On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: I am now using the application interface and play a file after answering the call. The call is not connected to a another session, it's just a single session. SWITCH_STANDARD_APP(mod_my_function) { /* play audio file */ switch_ivr_play_file(session, NULL, "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", NULL); } Now the hooks for channel_write_frame and channel_read_frame are called! I write the audio frames into a file for testing if everything is correct. The data written in channel_write_frame seems to be perfect, but audio written in channel_read_frame only seems to be good at first sight. If I record 20 seconds of audio and listen to the audiofile I hear that 2 or 3 times short parts are missing. static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into a file fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) { // Spoken audio samples from my microphone are written, but sometimes samples are missing fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } Is it possible that I don't get all audio samples by hooked functions? why audio recorded in channel_write_frame is brilliant and in channel_read_frame not? Date: Tue, 16 Mar 2010 13:59:28 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xHotmail2 Alles in einem Postfach ? Ich will Hotmail! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100323/6c84b44d/attachment.html From anthony.minessale at gmail.com Mon Mar 22 16:34:46 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Mon, 22 Mar 2010 18:34:46 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> Message-ID: <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> you don't use the hook functions you use a frame pointer switch_frame_t *read_frame; switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); when i said to look at the stream file example i meant in the function itself to see how to read and write audio from a channel in a foreground loop. On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: > I have an selfmade software which is controlled by a telephone call > (ISDN/CAPI). The user calls with his phone, gets > connected and can speak commands which are detected by an internal speech > recognizer. Furthermore the user can accept > or hangup incoming calls just by his voice command. It is also possible to > dial out. > > Now I am adding VOIP functionality to my system and decided to use > FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP > interface for my software. The module must be able to: > > 1. recognize an incoming call which is the users control session (single > session) > I do this in statehandler function channel_on_init. > 2. pick up another incoming call and intercept with my users control > session. > 3. Get the audio data from voip session (user control session) and send it > to my application (by own tcp-socket) > My idea is to use channel_write_frame to receive audio. > 3. Send audio data from my application to voip user control session so the > user can hear audio. > My idea is to use channel_read_frame. > > explanation for using hooks: > ---------------------------- > The endpoint interface callback functions where never called in my module, > even I tried to adapt the way it is done > in mod_portaudio. So my workaround was to set hook functions > channel_read_frame/channel_write_frame to handle audio. > > My problems: > ------------ > The hook functions are working fine if I have 2 sessions (put together by > switch_ivr_intercept_session), but if I only have the single user control > session no hooked function is called. In this case the only way to achieve > that hooks are called, is to play audio with switch_ivr_play_file. But then, > audio samples got lost sometimes. > > Maybe there is a better way to solve my requirements? > > > > > ------------------------------ > Date: Mon, 22 Mar 2010 11:55:42 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > Why do you even need the hooks? > What exactly are you trying to do? > Maybe you should explain it. > > > On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: > > I am now using the application interface and play a file after answering > the call. The call is not connected to a another session, it's just a single > session. > > SWITCH_STANDARD_APP(mod_my_function) > { > /* play audio file */ > switch_ivr_play_file(session, NULL, > "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", > NULL); > } > > Now the hooks for channel_write_frame and channel_read_frame are called! I > write the audio frames into a file for testing if everything is correct. The > data written in channel_write_frame seems to be perfect, but audio written > in channel_read_frame only seems to be good at first sight. If I record 20 > seconds of audio and listen to the audiofile I hear that 2 or 3 times short > parts are missing. > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into > a file > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t **frame, switch_io_flag_t flags, int stream_id) > { > // Spoken audio samples from my microphone are written, but sometimes > samples are missing > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > } > > Is it possible that I don't get all audio samples by hooked functions? why > audio recorded in channel_write_frame is brilliant and in channel_read_frame > not? > > > > > > > ------------------------------ > Date: Tue, 16 Mar 2010 13:59:28 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you probably want to use the application interface and a while loop while > reading a frame. > > see most of the functions in switch_ivr_play_say > > > On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100322/9a11ed0c/attachment-0001.html From cstomi.levlist at gmail.com Tue Mar 23 04:38:10 2010 From: cstomi.levlist at gmail.com (Tamas Cseke) Date: Tue, 23 Mar 2010 12:38:10 +0100 Subject: [Freeswitch-dev] windows json build In-Reply-To: References: Message-ID: <4BA8A822.4020401@gmail.com> Hello, I've seen the json upgrade (0.8 ->0.9) has been done for windows as well in r17064. If it would work, I'd like to fix the windows build for mod_json_cdr (http://jira.freeswitch.org/browse/MODEVENT-62) I was trying with vc++ 2008 express, but I can't compile jsonlib. json_util.c(62) : error C2065: 'O_RDONLY' : undeclared identifier json_util.c(97) : error C2065: 'O_WRONLY' : undeclared identifier json_util.c(97) : error C2065: 'O_TRUNC' : undeclared identifier json_util.c(97) : error C2065: 'O_CREAT' : undeclared identifier Is it works for you? does mod_curl build works on windows? or the jsonlib doesn't support windows at all (it seems to me) ? Thanks in advance, Tamas From cstomi.levlist at gmail.com Tue Mar 23 09:12:23 2010 From: cstomi.levlist at gmail.com (Tamas Cseke) Date: Tue, 23 Mar 2010 17:12:23 +0100 Subject: [Freeswitch-dev] windows json build In-Reply-To: <4BA8A822.4020401@gmail.com> References: <4BA8A822.4020401@gmail.com> Message-ID: <4BA8E867.1020702@gmail.com> Hello, Responding (for others who may be intrested) for json build a patched json tarball is needed. Here is the modification http://pastebin.freeswitch.org/12524 After this libjson build works. mod_curl still used json header files from 0.8 version. And I got compile errors http://pastebin.freeswitch.org/12525 Jlenk is working on mod_curl build...it's coming soon... Thanks the help! Tamas Tamas Cseke wrote: > Hello, > > I've seen the json upgrade (0.8 ->0.9) has been done for windows as well > in r17064. > > If it would work, I'd like to fix the windows build for mod_json_cdr > (http://jira.freeswitch.org/browse/MODEVENT-62) > > I was trying with vc++ 2008 express, but I can't compile jsonlib. > > json_util.c(62) : error C2065: 'O_RDONLY' : undeclared identifier > json_util.c(97) : error C2065: 'O_WRONLY' : undeclared identifier > json_util.c(97) : error C2065: 'O_TRUNC' : undeclared identifier > json_util.c(97) : error C2065: 'O_CREAT' : undeclared identifier > > Is it works for you? does mod_curl build works on windows? > or the jsonlib doesn't support windows at all (it seems to me) ? > > Thanks in advance, > Tamas > > > > _______________________________________________ > 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 > > From brian at freeswitch.org Tue Mar 23 09:15:39 2010 From: brian at freeswitch.org (Brian West) Date: Tue, 23 Mar 2010 11:15:39 -0500 Subject: [Freeswitch-dev] windows json build In-Reply-To: <4BA8E867.1020702@gmail.com> References: <4BA8A822.4020401@gmail.com> <4BA8E867.1020702@gmail.com> Message-ID: I thought this was fixed already yesterday... did you redownload the json lib? /b On Mar 23, 2010, at 11:12 AM, Tamas Cseke wrote: > Hello, > > Responding (for others who may be intrested) > for json build a patched json tarball is needed. > > Here is the modification > http://pastebin.freeswitch.org/12524 > > After this libjson build works. > mod_curl still used json header files from 0.8 version. > And I got compile errors > http://pastebin.freeswitch.org/12525 > > Jlenk is working on mod_curl build...it's coming soon... > Thanks the help! > > Tamas > > > > Tamas Cseke wrote: >> Hello, >> >> I've seen the json upgrade (0.8 ->0.9) has been done for windows as well >> in r17064. >> >> If it would work, I'd like to fix the windows build for mod_json_cdr >> (http://jira.freeswitch.org/browse/MODEVENT-62) >> >> I was trying with vc++ 2008 express, but I can't compile jsonlib. >> >> json_util.c(62) : error C2065: 'O_RDONLY' : undeclared identifier >> json_util.c(97) : error C2065: 'O_WRONLY' : undeclared identifier >> json_util.c(97) : error C2065: 'O_TRUNC' : undeclared identifier >> json_util.c(97) : error C2065: 'O_CREAT' : undeclared identifier >> >> Is it works for you? does mod_curl build works on windows? >> or the jsonlib doesn't support windows at all (it seems to me) ? >> >> Thanks in advance, >> Tamas >> >> >> >> _______________________________________________ >> 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 >> >> > > > _______________________________________________ > 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 From mike at jerris.com Tue Mar 23 09:48:01 2010 From: mike at jerris.com (Michael Jerris) Date: Tue, 23 Mar 2010 12:48:01 -0400 Subject: [Freeswitch-dev] windows json build In-Reply-To: <4BA8E867.1020702@gmail.com> References: <4BA8A822.4020401@gmail.com> <4BA8E867.1020702@gmail.com> Message-ID: <66E9C220-86E3-4CCF-AD50-83715B5E6AD1@jerris.com> The new tarball will be up shortly, there was one more change. Mike On Mar 23, 2010, at 12:12 PM, Tamas Cseke wrote: > Hello, > > Responding (for others who may be intrested) > for json build a patched json tarball is needed. > > Here is the modification > http://pastebin.freeswitch.org/12524 > > After this libjson build works. > mod_curl still used json header files from 0.8 version. > And I got compile errors > http://pastebin.freeswitch.org/12525 > > Jlenk is working on mod_curl build...it's coming soon... > Thanks the help! > > Tamas > > > > Tamas Cseke wrote: >> Hello, >> >> I've seen the json upgrade (0.8 ->0.9) has been done for windows as well >> in r17064. >> >> If it would work, I'd like to fix the windows build for mod_json_cdr >> (http://jira.freeswitch.org/browse/MODEVENT-62) >> >> I was trying with vc++ 2008 express, but I can't compile jsonlib. >> >> json_util.c(62) : error C2065: 'O_RDONLY' : undeclared identifier >> json_util.c(97) : error C2065: 'O_WRONLY' : undeclared identifier >> json_util.c(97) : error C2065: 'O_TRUNC' : undeclared identifier >> json_util.c(97) : error C2065: 'O_CREAT' : undeclared identifier >> >> Is it works for you? does mod_curl build works on windows? >> or the jsonlib doesn't support windows at all (it seems to me) ? >> >> Thanks in advance, >> Tamas >> >> >> >> _______________________________________________ >> 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 >> >> > > > _______________________________________________ > 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 From Suneel.Papineni at mettoni.com Thu Mar 25 03:47:46 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Thu, 25 Mar 2010 10:47:46 -0000 Subject: [Freeswitch-dev] Core-UUID Message-ID: <3181A30B8C35AB4AA8577B78DDF4613806A5E4DA@nickel.mettonigroup.com> Hi, May I know what is the use of Core-UUID in the events. For me (using FSComm) I am getting same Core-UUID value for all events even if there are multiple calls. Core-UUID: 3f3e9290-077e-4fc8-80a5-2ee74389b84c Is there any way to distinguish calls (each call might have two call legs) based on UUID. Each call leg is having unique identifier as "Unique-ID", but to relate different call leg events to a particular call, is there any identifier? Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100325/356f060f/attachment.html From mike at jerris.com Thu Mar 25 06:11:07 2010 From: mike at jerris.com (Michael Jerris) Date: Thu, 25 Mar 2010 09:11:07 -0400 Subject: [Freeswitch-dev] Core-UUID In-Reply-To: <3181A30B8C35AB4AA8577B78DDF4613806A5E4DA@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF4613806A5E4DA@nickel.mettonigroup.com> Message-ID: <7B169138-26E5-4778-A375-906A83BCAD11@jerris.com> it relates to the instance for FreeSWITCH. I cant recall if that one persists reboot or not. Mike On Mar 25, 2010, at 6:47 AM, Suneel Papineni wrote: > Hi, > > May I know what is the use of Core-UUID in the events. For me (using FSComm) I am getting same Core-UUID value for all events even if there are multiple calls. > > Core-UUID: 3f3e9290-077e-4fc8-80a5-2ee74389b84c > > Is there any way to distinguish calls (each call might have two call legs) based on UUID. Each call leg is having unique identifier as ?Unique-ID?, but to relate different call leg events to a particular call, is there any identifier? > > Thanks & Regards > Suneel > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > Why are you sending confidential emails to a public mailing list? Should I contact your system manager ? > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100325/4afbfbba/attachment-0001.html From anthony.minessale at gmail.com Thu Mar 25 06:11:51 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Thu, 25 Mar 2010 08:11:51 -0500 Subject: [Freeswitch-dev] Core-UUID In-Reply-To: <3181A30B8C35AB4AA8577B78DDF4613806A5E4DA@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF4613806A5E4DA@nickel.mettonigroup.com> Message-ID: <191c3a031003250611h68fe5cebpd53e959d20544bc3@mail.gmail.com> unique per running instance of FS, it changes each time you restart. On Thu, Mar 25, 2010 at 5:47 AM, Suneel Papineni < Suneel.Papineni at mettoni.com> wrote: > Hi, > > > > May I know what is the use of Core-UUID in the events. For me (using > FSComm) I am getting same Core-UUID value for all events even if there are > multiple calls. > > > > Core-UUID: 3f3e9290-077e-4fc8-80a5-2ee74389b84c > > > > Is there any way to distinguish calls (each call might have two call legs) > based on UUID. Each call leg is having unique identifier as ?Unique-ID?, but > to relate different call leg events to a particular call, is there any > identifier? > > > > Thanks & Regards > > Suneel > > > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > ************************************************************************* > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100325/d6c0bef2/attachment.html From anthony.minessale at gmail.com Thu Mar 25 06:28:55 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Thu, 25 Mar 2010 08:28:55 -0500 Subject: [Freeswitch-dev] Core-UUID In-Reply-To: <7B169138-26E5-4778-A375-906A83BCAD11@jerris.com> References: <3181A30B8C35AB4AA8577B78DDF4613806A5E4DA@nickel.mettonigroup.com> <7B169138-26E5-4778-A375-906A83BCAD11@jerris.com> Message-ID: <191c3a031003250628l7c0e0275xd2ffac8fae20b35d@mail.gmail.com> The uuid for the calls are called Unique-ID and they only pertain to events that are on a channel On Thu, Mar 25, 2010 at 8:11 AM, Michael Jerris wrote: > it relates to the instance for FreeSWITCH. I cant recall if that one > persists reboot or not. > > Mike > > On Mar 25, 2010, at 6:47 AM, Suneel Papineni wrote: > > Hi, > > May I know what is the use of Core-UUID in the events. For me (using > FSComm) I am getting same Core-UUID value for all events even if there are > multiple calls. > > Core-UUID: 3f3e9290-077e-4fc8-80a5-2ee74389b84c > > Is there any way to distinguish calls (each call might have two call legs) > based on UUID. Each call leg is having unique identifier as ?Unique-ID?, but > to relate different call leg events to a particular call, is there any > identifier? > > Thanks & Regards > Suneel > > > ************************************************************************* > Please consider the environment before printing this e-mail > ************************************************************************* > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. http://www.mettoni.com > > > Why are you sending confidential emails to a public mailing list? Should I > contact your system manager ? > > Mettoni Ltd > Registered in England and Wales: 4485956 > 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN > > > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100325/d7fdab48/attachment.html From msc at freeswitch.org Thu Mar 25 09:33:31 2010 From: msc at freeswitch.org (Michael Collins) Date: Thu, 25 Mar 2010 09:33:31 -0700 Subject: [Freeswitch-dev] IRC Day! Message-ID: <87f2f3b91003250933g43da6e5rd275551e71c46f49@mail.gmail.com> Hello all FreeSWITCHers! We invite everyone around the world to join us in #freeswitch on irc.freenode.net. We want everyone to be online today, even if you just leave your IRC client running in the background. Also, if you don't have an IRC client handy then go to http://www.freeswitch.org/ and use the web login located on the right-hand side bar (below the features list). You'll need a Java-enable browser. Everyone have a great day! -Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100325/1bcced38/attachment.html From scaram at hotmail.de Fri Mar 26 05:27:33 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Fri, 26 Mar 2010 13:27:33 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> References: , <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com>, , <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com>, , <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com>, , <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> Message-ID: Now I call switch_core_session_read_frame and switch_core_session_write_frame in the same foreground loop. Then I write audio into a file and as a result I see that there are many audio gaps. There seems to be a cross effect by using switch_core_session_write_frame and switch_core_session_read_frame together. If I only use switch_core_session_read_frame in the loop, there are no gaps and everything sounds perfect! What could be the problem? while (1) { // READ tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (tstatus==SWITCH_STATUS_SUCCESS) { // write audio in a testfile fwrite((short *)(read_frame)->data, 2, ((read_frame)->datalen)/2 ,tmp); switch_size_t ts_rf=read_frame->timestamp; } // WRITE vector vucIn; if (getAudio(&vucAudio)) // get next audio and send it back { memcpy( write_frame.data, &vucIn[0], vucIn.size()); write_frame.datalen=vucIn.size(); tstatus = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0); } //Sleep(1);//? } Date: Mon, 22 Mar 2010 18:34:46 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you don't use the hook functions you use a frame pointer switch_frame_t *read_frame; switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); when i said to look at the stream file example i meant in the function itself to see how to read and write audio from a channel in a foreground loop. On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: I have an selfmade software which is controlled by a telephone call (ISDN/CAPI). The user calls with his phone, gets connected and can speak commands which are detected by an internal speech recognizer. Furthermore the user can accept or hangup incoming calls just by his voice command. It is also possible to dial out. Now I am adding VOIP functionality to my system and decided to use FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP interface for my software. The module must be able to: 1. recognize an incoming call which is the users control session (single session) I do this in statehandler function channel_on_init. 2. pick up another incoming call and intercept with my users control session. 3. Get the audio data from voip session (user control session) and send it to my application (by own tcp-socket) My idea is to use channel_write_frame to receive audio. 3. Send audio data from my application to voip user control session so the user can hear audio. My idea is to use channel_read_frame. explanation for using hooks: ---------------------------- The endpoint interface callback functions where never called in my module, even I tried to adapt the way it is done in mod_portaudio. So my workaround was to set hook functions channel_read_frame/channel_write_frame to handle audio. My problems: ------------ The hook functions are working fine if I have 2 sessions (put together by switch_ivr_intercept_session), but if I only have the single user control session no hooked function is called. In this case the only way to achieve that hooks are called, is to play audio with switch_ivr_play_file. But then, audio samples got lost sometimes. Maybe there is a better way to solve my requirements? Date: Mon, 22 Mar 2010 11:55:42 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session Why do you even need the hooks? What exactly are you trying to do? Maybe you should explain it. On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: I am now using the application interface and play a file after answering the call. The call is not connected to a another session, it's just a single session. SWITCH_STANDARD_APP(mod_my_function) { /* play audio file */ switch_ivr_play_file(session, NULL, "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", NULL); } Now the hooks for channel_write_frame and channel_read_frame are called! I write the audio frames into a file for testing if everything is correct. The data written in channel_write_frame seems to be perfect, but audio written in channel_read_frame only seems to be good at first sight. If I record 20 seconds of audio and listen to the audiofile I hear that 2 or 3 times short parts are missing. static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into a file fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) { // Spoken audio samples from my microphone are written, but sometimes samples are missing fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } Is it possible that I don't get all audio samples by hooked functions? why audio recorded in channel_write_frame is brilliant and in channel_read_frame not? Date: Tue, 16 Mar 2010 13:59:28 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xIMVideochat2 Treffe Freunde im Messenger Videochat! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/f7cfdbfb/attachment-0001.html From anthony.minessale at gmail.com Fri Mar 26 09:31:43 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Fri, 26 Mar 2010 11:31:43 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com> <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> Message-ID: <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com> you can only write back the exact number of bytes you negotiated per interval. On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: > Now I call switch_core_session_read_frame and > switch_core_session_write_frame in the same foreground loop. Then I write > audio into a file and as a result I see that there are many audio gaps. > > There seems to be a cross effect by using switch_core_session_write_frame > and switch_core_session_read_frame together. > If I only use switch_core_session_read_frame in the loop, there are no gaps > and everything sounds perfect! > > What could be the problem? > > > > while (1) > { > // READ > tstatus = switch_core_session_read_frame(session, &read_frame, > SWITCH_IO_FLAG_NONE, 0); > if (tstatus==SWITCH_STATUS_SUCCESS) > { // write audio in a testfile > fwrite((short *)(read_frame)->data, 2, > ((read_frame)->datalen)/2 ,tmp); > switch_size_t ts_rf=read_frame->timestamp; > } > > // WRITE > vector vucIn; > if (getAudio(&vucAudio)) // get next audio and send it back > { > memcpy( write_frame.data, &vucIn[0], vucIn.size()); > write_frame.datalen=vucIn.size(); > tstatus = switch_core_session_write_frame(session, &write_frame, > SWITCH_IO_FLAG_NONE, 0); > } > //Sleep(1);//? > } > > ------------------------------ > Date: Mon, 22 Mar 2010 18:34:46 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you don't use the hook functions you use a frame pointer > > switch_frame_t *read_frame; > > switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, > 0); > > when i said to look at the stream file example i meant in the function > itself to see how > to read and write audio from a channel in a foreground loop. > > > > On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: > > I have an selfmade software which is controlled by a telephone call > (ISDN/CAPI). The user calls with his phone, gets > connected and can speak commands which are detected by an internal speech > recognizer. Furthermore the user can accept > or hangup incoming calls just by his voice command. It is also possible to > dial out. > > Now I am adding VOIP functionality to my system and decided to use > FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP > interface for my software. The module must be able to: > > 1. recognize an incoming call which is the users control session (single > session) > I do this in statehandler function channel_on_init. > 2. pick up another incoming call and intercept with my users control > session. > 3. Get the audio data from voip session (user control session) and send it > to my application (by own tcp-socket) > My idea is to use channel_write_frame to receive audio. > 3. Send audio data from my application to voip user control session so the > user can hear audio. > My idea is to use channel_read_frame. > > explanation for using hooks: > ---------------------------- > The endpoint interface callback functions where never called in my module, > even I tried to adapt the way it is done > in mod_portaudio. So my workaround was to set hook functions > channel_read_frame/channel_write_frame to handle audio. > > My problems: > ------------ > The hook functions are working fine if I have 2 sessions (put together by > switch_ivr_intercept_session), but if I only have the single user control > session no hooked function is called. In this case the only way to achieve > that hooks are called, is to play audio with switch_ivr_play_file. But then, > audio samples got lost sometimes. > > Maybe there is a better way to solve my requirements? > > > > > ------------------------------ > Date: Mon, 22 Mar 2010 11:55:42 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > Why do you even need the hooks? > What exactly are you trying to do? > Maybe you should explain it. > > > On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: > > I am now using the application interface and play a file after answering > the call. The call is not connected to a another session, it's just a single > session. > > SWITCH_STANDARD_APP(mod_my_function) > { > /* play audio file */ > switch_ivr_play_file(session, NULL, > "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", > NULL); > } > > Now the hooks for channel_write_frame and channel_read_frame are called! I > write the audio frames into a file for testing if everything is correct. The > data written in channel_write_frame seems to be perfect, but audio written > in channel_read_frame only seems to be good at first sight. If I record 20 > seconds of audio and listen to the audiofile I hear that 2 or 3 times short > parts are missing. > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into > a file > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t **frame, switch_io_flag_t flags, int stream_id) > { > // Spoken audio samples from my microphone are written, but sometimes > samples are missing > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > } > > Is it possible that I don't get all audio samples by hooked functions? why > audio recorded in channel_write_frame is brilliant and in channel_read_frame > not? > > > > > > > ------------------------------ > Date: Tue, 16 Mar 2010 13:59:28 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you probably want to use the application interface and a while loop while > reading a frame. > > see most of the functions in switch_ivr_play_say > > > On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/bf933a6d/attachment-0001.html From scaram at hotmail.de Fri Mar 26 10:23:06 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Fri, 26 Mar 2010 18:23:06 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com> References: , <191c3a031003160634vbc3ce61ka3f919e4bfaddd64@mail.gmail.com>, , <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com>, , <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com>, , <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com>, , <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com> Message-ID: ok, which is the best mechanism to controll the amount of data. Can you recommend a timer? I use PCMA codec with 20 msec intervall. Date: Fri, 26 Mar 2010 11:31:43 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you can only write back the exact number of bytes you negotiated per interval. On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: Now I call switch_core_session_read_frame and switch_core_session_write_frame in the same foreground loop. Then I write audio into a file and as a result I see that there are many audio gaps. There seems to be a cross effect by using switch_core_session_write_frame and switch_core_session_read_frame together. If I only use switch_core_session_read_frame in the loop, there are no gaps and everything sounds perfect! What could be the problem? while (1) { // READ tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (tstatus==SWITCH_STATUS_SUCCESS) { // write audio in a testfile fwrite((short *)(read_frame)->data, 2, ((read_frame)->datalen)/2 ,tmp); switch_size_t ts_rf=read_frame->timestamp; } // WRITE vector vucIn; if (getAudio(&vucAudio)) // get next audio and send it back { memcpy( write_frame.data, &vucIn[0], vucIn.size()); write_frame.datalen=vucIn.size(); tstatus = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0); } //Sleep(1);//? } Date: Mon, 22 Mar 2010 18:34:46 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you don't use the hook functions you use a frame pointer switch_frame_t *read_frame; switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); when i said to look at the stream file example i meant in the function itself to see how to read and write audio from a channel in a foreground loop. On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: I have an selfmade software which is controlled by a telephone call (ISDN/CAPI). The user calls with his phone, gets connected and can speak commands which are detected by an internal speech recognizer. Furthermore the user can accept or hangup incoming calls just by his voice command. It is also possible to dial out. Now I am adding VOIP functionality to my system and decided to use FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP interface for my software. The module must be able to: 1. recognize an incoming call which is the users control session (single session) I do this in statehandler function channel_on_init. 2. pick up another incoming call and intercept with my users control session. 3. Get the audio data from voip session (user control session) and send it to my application (by own tcp-socket) My idea is to use channel_write_frame to receive audio. 3. Send audio data from my application to voip user control session so the user can hear audio. My idea is to use channel_read_frame. explanation for using hooks: ---------------------------- The endpoint interface callback functions where never called in my module, even I tried to adapt the way it is done in mod_portaudio. So my workaround was to set hook functions channel_read_frame/channel_write_frame to handle audio. My problems: ------------ The hook functions are working fine if I have 2 sessions (put together by switch_ivr_intercept_session), but if I only have the single user control session no hooked function is called. In this case the only way to achieve that hooks are called, is to play audio with switch_ivr_play_file. But then, audio samples got lost sometimes. Maybe there is a better way to solve my requirements? Date: Mon, 22 Mar 2010 11:55:42 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session Why do you even need the hooks? What exactly are you trying to do? Maybe you should explain it. On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: I am now using the application interface and play a file after answering the call. The call is not connected to a another session, it's just a single session. SWITCH_STANDARD_APP(mod_my_function) { /* play audio file */ switch_ivr_play_file(session, NULL, "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", NULL); } Now the hooks for channel_write_frame and channel_read_frame are called! I write the audio frames into a file for testing if everything is correct. The data written in channel_write_frame seems to be perfect, but audio written in channel_read_frame only seems to be good at first sight. If I record 20 seconds of audio and listen to the audiofile I hear that 2 or 3 times short parts are missing. static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into a file fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) { // Spoken audio samples from my microphone are written, but sometimes samples are missing fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } Is it possible that I don't get all audio samples by hooked functions? why audio recorded in channel_write_frame is brilliant and in channel_read_frame not? Date: Tue, 16 Mar 2010 13:59:28 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xHotmail2 Alles in einem Postfach ? Ich will Hotmail! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/358eb418/attachment-0001.html From anthony.minessale at gmail.com Fri Mar 26 10:37:04 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Fri, 26 Mar 2010 12:37:04 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com> <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com> Message-ID: <191c3a031003261037r27e53b58qfd3a46051f730370@mail.gmail.com> You can use the data you have, the read will already be timed right when you get a frame that has flag SFF_CNG you know that there was not a real frame to read but you should still write the size id determined from getting the read_impl and using read_impl->encoded_bytes_per_frame On Fri, Mar 26, 2010 at 12:23 PM, Francisco Scaramanga wrote: > ok, which is the best mechanism to controll the amount of data. Can you > recommend a timer? I use PCMA codec with 20 msec intervall. > > > ------------------------------ > Date: Fri, 26 Mar 2010 11:31:43 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you can only write back the exact number of bytes you negotiated per > interval. > > > On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: > > Now I call switch_core_session_read_frame and > switch_core_session_write_frame in the same foreground loop. Then I write > audio into a file and as a result I see that there are many audio gaps. > > There seems to be a cross effect by using switch_core_session_write_frame > and switch_core_session_read_frame together. > If I only use switch_core_session_read_frame in the loop, there are no gaps > and everything sounds perfect! > > What could be the problem? > > > > while (1) > { > // READ > tstatus = switch_core_session_read_frame(session, &read_frame, > SWITCH_IO_FLAG_NONE, 0); > if (tstatus==SWITCH_STATUS_SUCCESS) > { // write audio in a testfile > fwrite((short *)(read_frame)->data, 2, > ((read_frame)->datalen)/2 ,tmp); > switch_size_t ts_rf=read_frame->timestamp; > } > > // WRITE > vector vucIn; > if (getAudio(&vucAudio)) // get next audio and send it back > { > memcpy( write_frame.data, &vucIn[0], vucIn.size()); > write_frame.datalen=vucIn.size(); > tstatus = switch_core_session_write_frame(session, &write_frame, > SWITCH_IO_FLAG_NONE, 0); > } > //Sleep(1);//? > } > > ------------------------------ > Date: Mon, 22 Mar 2010 18:34:46 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you don't use the hook functions you use a frame pointer > > switch_frame_t *read_frame; > > switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, > 0); > > when i said to look at the stream file example i meant in the function > itself to see how > to read and write audio from a channel in a foreground loop. > > > > On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: > > I have an selfmade software which is controlled by a telephone call > (ISDN/CAPI). The user calls with his phone, gets > connected and can speak commands which are detected by an internal speech > recognizer. Furthermore the user can accept > or hangup incoming calls just by his voice command. It is also possible to > dial out. > > Now I am adding VOIP functionality to my system and decided to use > FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP > interface for my software. The module must be able to: > > 1. recognize an incoming call which is the users control session (single > session) > I do this in statehandler function channel_on_init. > 2. pick up another incoming call and intercept with my users control > session. > 3. Get the audio data from voip session (user control session) and send it > to my application (by own tcp-socket) > My idea is to use channel_write_frame to receive audio. > 3. Send audio data from my application to voip user control session so the > user can hear audio. > My idea is to use channel_read_frame. > > explanation for using hooks: > ---------------------------- > The endpoint interface callback functions where never called in my module, > even I tried to adapt the way it is done > in mod_portaudio. So my workaround was to set hook functions > channel_read_frame/channel_write_frame to handle audio. > > My problems: > ------------ > The hook functions are working fine if I have 2 sessions (put together by > switch_ivr_intercept_session), but if I only have the single user control > session no hooked function is called. In this case the only way to achieve > that hooks are called, is to play audio with switch_ivr_play_file. But then, > audio samples got lost sometimes. > > Maybe there is a better way to solve my requirements? > > > > > ------------------------------ > Date: Mon, 22 Mar 2010 11:55:42 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > Why do you even need the hooks? > What exactly are you trying to do? > Maybe you should explain it. > > > On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: > > I am now using the application interface and play a file after answering > the call. The call is not connected to a another session, it's just a single > session. > > SWITCH_STANDARD_APP(mod_my_function) > { > /* play audio file */ > switch_ivr_play_file(session, NULL, > "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", > NULL); > } > > Now the hooks for channel_write_frame and channel_read_frame are called! I > write the audio frames into a file for testing if everything is correct. The > data written in channel_write_frame seems to be perfect, but audio written > in channel_read_frame only seems to be good at first sight. If I record 20 > seconds of audio and listen to the audiofile I hear that 2 or 3 times short > parts are missing. > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into > a file > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t **frame, switch_io_flag_t flags, int stream_id) > { > // Spoken audio samples from my microphone are written, but sometimes > samples are missing > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > } > > Is it possible that I don't get all audio samples by hooked functions? why > audio recorded in channel_write_frame is brilliant and in channel_read_frame > not? > > > > > > > ------------------------------ > Date: Tue, 16 Mar 2010 13:59:28 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you probably want to use the application interface and a while loop while > reading a frame. > > see most of the functions in switch_ivr_play_say > > > On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/6becf767/attachment-0001.html From scaram at hotmail.de Fri Mar 26 10:55:04 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Fri, 26 Mar 2010 18:55:04 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003261037r27e53b58qfd3a46051f730370@mail.gmail.com> References: , , <191c3a031003161159x734dc1c1y94a9079218b014e6@mail.gmail.com>, , <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com>, , <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com>, , <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com>, , <191c3a031003261037r27e53b58qfd3a46051f730370@mail.gmail.com> Message-ID: yes, switch_core_session_read_frame will be timed right. This is working for me, but my troubles are in switch_core_session_write_frame. Is this function timed write too when I put data into this function? Date: Fri, 26 Mar 2010 12:37:04 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session You can use the data you have, yes the the read will already be timed right when you get a frame that has flag SFF_CNG you know that there was not a real frame to read but you should still write the size id determined from getting the read_impl and using read_impl->encoded_bytes_per_frame On Fri, Mar 26, 2010 at 12:23 PM, Francisco Scaramanga wrote: ok, which is the best mechanism to controll the amount of data. Can you recommend a timer? I use PCMA codec with 20 msec intervall. Date: Fri, 26 Mar 2010 11:31:43 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you can only write back the exact number of bytes you negotiated per interval. On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: Now I call switch_core_session_read_frame and switch_core_session_write_frame in the same foreground loop. Then I write audio into a file and as a result I see that there are many audio gaps. There seems to be a cross effect by using switch_core_session_write_frame and switch_core_session_read_frame together. If I only use switch_core_session_read_frame in the loop, there are no gaps and everything sounds perfect! What could be the problem? while (1) { // READ tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (tstatus==SWITCH_STATUS_SUCCESS) { // write audio in a testfile fwrite((short *)(read_frame)->data, 2, ((read_frame)->datalen)/2 ,tmp); switch_size_t ts_rf=read_frame->timestamp; } // WRITE vector vucIn; if (getAudio(&vucAudio)) // get next audio and send it back { memcpy( write_frame.data, &vucIn[0], vucIn.size()); write_frame.datalen=vucIn.size(); tstatus = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0); } //Sleep(1);//? } Date: Mon, 22 Mar 2010 18:34:46 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you don't use the hook functions you use a frame pointer switch_frame_t *read_frame; switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); when i said to look at the stream file example i meant in the function itself to see how to read and write audio from a channel in a foreground loop. On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: I have an selfmade software which is controlled by a telephone call (ISDN/CAPI). The user calls with his phone, gets connected and can speak commands which are detected by an internal speech recognizer. Furthermore the user can accept or hangup incoming calls just by his voice command. It is also possible to dial out. Now I am adding VOIP functionality to my system and decided to use FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP interface for my software. The module must be able to: 1. recognize an incoming call which is the users control session (single session) I do this in statehandler function channel_on_init. 2. pick up another incoming call and intercept with my users control session. 3. Get the audio data from voip session (user control session) and send it to my application (by own tcp-socket) My idea is to use channel_write_frame to receive audio. 3. Send audio data from my application to voip user control session so the user can hear audio. My idea is to use channel_read_frame. explanation for using hooks: ---------------------------- The endpoint interface callback functions where never called in my module, even I tried to adapt the way it is done in mod_portaudio. So my workaround was to set hook functions channel_read_frame/channel_write_frame to handle audio. My problems: ------------ The hook functions are working fine if I have 2 sessions (put together by switch_ivr_intercept_session), but if I only have the single user control session no hooked function is called. In this case the only way to achieve that hooks are called, is to play audio with switch_ivr_play_file. But then, audio samples got lost sometimes. Maybe there is a better way to solve my requirements? Date: Mon, 22 Mar 2010 11:55:42 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session Why do you even need the hooks? What exactly are you trying to do? Maybe you should explain it. On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: I am now using the application interface and play a file after answering the call. The call is not connected to a another session, it's just a single session. SWITCH_STANDARD_APP(mod_my_function) { /* play audio file */ switch_ivr_play_file(session, NULL, "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", NULL); } Now the hooks for channel_write_frame and channel_read_frame are called! I write the audio frames into a file for testing if everything is correct. The data written in channel_write_frame seems to be perfect, but audio written in channel_read_frame only seems to be good at first sight. If I record 20 seconds of audio and listen to the audiofile I hear that 2 or 3 times short parts are missing. static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into a file fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) { // Spoken audio samples from my microphone are written, but sometimes samples are missing fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } Is it possible that I don't get all audio samples by hooked functions? why audio recorded in channel_write_frame is brilliant and in channel_read_frame not? Date: Tue, 16 Mar 2010 13:59:28 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xIE82 Damit Privates privat bleibt! Internet Explorer 8! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/09d0e928/attachment-0001.html From mike at jerris.com Fri Mar 26 10:59:17 2010 From: mike at jerris.com (Michael Jerris) Date: Fri, 26 Mar 2010 13:59:17 -0400 Subject: [Freeswitch-dev] Attention all FreeSWITCH and Openzap committors. ACTION REQUIRED Message-ID: We are in process of our migration from svn to git for our main source control. We will likely still have a read only svn mirror, but all future commits will go to git after the migration. In order to proceed with this process, I will need your full name, public key, email address, and svn username. If you have outstanding svn branches that you would like to keep, please contact me with these details as well, I do not currently plan on merging any branches from svn to the new git repo. For information on how to use git: http://git-scm.com/documentation , http://git-scm.com/course/svn.html For information on how to generate a public key if you do not already have one: http://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html For general users, more information will follow on these changes. For now, nothing has changed. Around April 1, there will likely be a 1 time need to do a full checkout if you plan on continuing to use the svn mirror, or a fresh git checkout if you plan on switching to git. If you have any other questions about the process or changes, feel free to ask. Mike From anthony.minessale at gmail.com Fri Mar 26 11:07:14 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Fri, 26 Mar 2010 13:07:14 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com> <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com> <191c3a031003261037r27e53b58qfd3a46051f730370@mail.gmail.com> Message-ID: <191c3a031003261107y794010b4u3d434ba856e3e61e@mail.gmail.com> you put 1 frame in write for each read with the data size i told you about in the last email On Fri, Mar 26, 2010 at 12:55 PM, Francisco Scaramanga wrote: > yes, switch_core_session_read_frame will be timed right. This is working > for me, but my troubles are in switch_core_session_write_frame. > Is this function timed write too when I put data into this function? > > ------------------------------ > Date: Fri, 26 Mar 2010 12:37:04 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > You can use the data you have, > > yes the the read will already be timed right > > when you get a frame that has flag SFF_CNG you know that there was not a > real frame to read but you should still write > the size id determined from getting the read_impl and using > read_impl->encoded_bytes_per_frame > > > > On Fri, Mar 26, 2010 at 12:23 PM, Francisco Scaramanga wrote: > > ok, which is the best mechanism to controll the amount of data. Can you > recommend a timer? I use PCMA codec with 20 msec intervall. > > > ------------------------------ > Date: Fri, 26 Mar 2010 11:31:43 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you can only write back the exact number of bytes you negotiated per > interval. > > > On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: > > Now I call switch_core_session_read_frame and > switch_core_session_write_frame in the same foreground loop. Then I write > audio into a file and as a result I see that there are many audio gaps. > > There seems to be a cross effect by using switch_core_session_write_frame > and switch_core_session_read_frame together. > If I only use switch_core_session_read_frame in the loop, there are no gaps > and everything sounds perfect! > > What could be the problem? > > > > while (1) > { > // READ > tstatus = switch_core_session_read_frame(session, &read_frame, > SWITCH_IO_FLAG_NONE, 0); > if (tstatus==SWITCH_STATUS_SUCCESS) > { // write audio in a testfile > fwrite((short *)(read_frame)->data, 2, > ((read_frame)->datalen)/2 ,tmp); > switch_size_t ts_rf=read_frame->timestamp; > } > > // WRITE > vector vucIn; > if (getAudio(&vucAudio)) // get next audio and send it back > { > memcpy( write_frame.data, &vucIn[0], vucIn.size()); > write_frame.datalen=vucIn.size(); > tstatus = switch_core_session_write_frame(session, &write_frame, > SWITCH_IO_FLAG_NONE, 0); > } > //Sleep(1);//? > } > > ------------------------------ > Date: Mon, 22 Mar 2010 18:34:46 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you don't use the hook functions you use a frame pointer > > switch_frame_t *read_frame; > > switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, > 0); > > when i said to look at the stream file example i meant in the function > itself to see how > to read and write audio from a channel in a foreground loop. > > > > On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: > > I have an selfmade software which is controlled by a telephone call > (ISDN/CAPI). The user calls with his phone, gets > connected and can speak commands which are detected by an internal speech > recognizer. Furthermore the user can accept > or hangup incoming calls just by his voice command. It is also possible to > dial out. > > Now I am adding VOIP functionality to my system and decided to use > FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP > interface for my software. The module must be able to: > > 1. recognize an incoming call which is the users control session (single > session) > I do this in statehandler function channel_on_init. > 2. pick up another incoming call and intercept with my users control > session. > 3. Get the audio data from voip session (user control session) and send it > to my application (by own tcp-socket) > My idea is to use channel_write_frame to receive audio. > 3. Send audio data from my application to voip user control session so the > user can hear audio. > My idea is to use channel_read_frame. > > explanation for using hooks: > ---------------------------- > The endpoint interface callback functions where never called in my module, > even I tried to adapt the way it is done > in mod_portaudio. So my workaround was to set hook functions > channel_read_frame/channel_write_frame to handle audio. > > My problems: > ------------ > The hook functions are working fine if I have 2 sessions (put together by > switch_ivr_intercept_session), but if I only have the single user control > session no hooked function is called. In this case the only way to achieve > that hooks are called, is to play audio with switch_ivr_play_file. But then, > audio samples got lost sometimes. > > Maybe there is a better way to solve my requirements? > > > > > ------------------------------ > Date: Mon, 22 Mar 2010 11:55:42 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > Why do you even need the hooks? > What exactly are you trying to do? > Maybe you should explain it. > > > On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: > > I am now using the application interface and play a file after answering > the call. The call is not connected to a another session, it's just a single > session. > > SWITCH_STANDARD_APP(mod_my_function) > { > /* play audio file */ > switch_ivr_play_file(session, NULL, > "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", > NULL); > } > > Now the hooks for channel_write_frame and channel_read_frame are called! I > write the audio frames into a file for testing if everything is correct. The > data written in channel_write_frame seems to be perfect, but audio written > in channel_read_frame only seems to be good at first sight. If I record 20 > seconds of audio and listen to the audiofile I hear that 2 or 3 times short > parts are missing. > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into > a file > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t **frame, switch_io_flag_t flags, int stream_id) > { > // Spoken audio samples from my microphone are written, but sometimes > samples are missing > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > } > > Is it possible that I don't get all audio samples by hooked functions? why > audio recorded in channel_write_frame is brilliant and in channel_read_frame > not? > > > > > > > ------------------------------ > Date: Tue, 16 Mar 2010 13:59:28 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you probably want to use the application interface and a while loop while > reading a frame. > > see most of the functions in switch_ivr_play_say > > > On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Damit Privates privat bleibt! Internet Explorer 8! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/d5ebae54/attachment-0001.html From msc at freeswitch.org Fri Mar 26 11:18:11 2010 From: msc at freeswitch.org (Michael Collins) Date: Fri, 26 Mar 2010 11:18:11 -0700 Subject: [Freeswitch-dev] FreeSWITCH Pub Conf is bridged to the VUC conference Message-ID: <87f2f3b91003261118h14541896j57b5602744f39088@mail.gmail.com> Feel free to call in to the FS public conference to listen in as the FS team and the VUC gang talk tech! SIP: 888 at conference.freeswitch.org PSTN: +1-919-386-9900 VUC IRC channel: #vuc Come join us! -MC -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/c4cc23e8/attachment.html From javieraristizabal at gmail.com Fri Mar 26 14:59:12 2010 From: javieraristizabal at gmail.com (=?ISO-8859-1?Q?Javier_Aristiz=E1bal?=) Date: Fri, 26 Mar 2010 16:59:12 -0500 Subject: [Freeswitch-dev] Attention all FreeSWITCH and Openzap committors. ACTION REQUIRED In-Reply-To: References: Message-ID: Hi Michael. My username is: javar I attached my ssh_key. Many thanks. -.-- --- / ... --- -.-- Javier Aristiz?bal Senior Developer On Fri, Mar 26, 2010 at 12:59 PM, Michael Jerris wrote: > We are in process of our migration from svn to git for our main source > control. We will likely still have a read only svn mirror, but all future > commits will go to git after the migration. In order to proceed with this > process, I will need your full name, public key, email address, and svn > username. If you have outstanding svn branches that you would like to keep, > please contact me with these details as well, I do not currently plan on > merging any branches from svn to the new git repo. > > For information on how to use git: http://git-scm.com/documentation , > http://git-scm.com/course/svn.html > For information on how to generate a public key if you do not already have > one: http://hkn.eecs.berkeley.edu/~dhsu/ssh_public_key_howto.html > > For general users, more information will follow on these changes. For now, > nothing has changed. Around April 1, there will likely be a 1 time need to > do a full checkout if you plan on continuing to use the svn mirror, or a > fresh git checkout if you plan on switching to git. > > If you have any other questions about the process or changes, feel free to > ask. > > Mike > > > _______________________________________________ > 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 > -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/15d32f98/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: id_dsa.pub Type: application/octet-stream Size: 633 bytes Desc: not available Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/15d32f98/attachment.obj From scaram at hotmail.de Fri Mar 26 17:26:24 2010 From: scaram at hotmail.de (Francisco Scaramanga) Date: Sat, 27 Mar 2010 01:26:24 +0100 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: <191c3a031003261107y794010b4u3d434ba856e3e61e@mail.gmail.com> References: , , <191c3a031003220955g1af09b31u523a51167ea7e34b@mail.gmail.com>, , <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com>, , <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com>, , <191c3a031003261037r27e53b58qfd3a46051f730370@mail.gmail.com>, , <191c3a031003261107y794010b4u3d434ba856e3e61e@mail.gmail.com> Message-ID: Function switch_ivr_session_echo is doing the same thing as I do in my test, and it seems that something doesn't work correctly. If you just edit switch_ivr_session_echo and add 3 lines of code for logging audio data into a file, you can listen to the audio gaps. To reproduce the gaps it's the best to read a text for about 60 seconds, then you will hear it. For the test I edited the dialplan: .. and the code.. SWITCH_DECLARE(void) switch_ivr_session_echo(switch_core_session_t *session, switch_input_args_t *args) { FILE *tmp = NULL; ... ... status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { break; } /*******************************************************************************************************************/ /* TEST CODE FOR WRITING AUDIO INTO FILE , IF RECORD 1 MINUTE AND LISTEN TO THE FILE YOU WILL GET AUDIO GAPS. */ tmp = fopen("C:\\files\\recorded_echo", "ab"); fwrite((short *)(read_frame)->data, 2, ((read_frame)->datalen)/2 ,tmp); fclose(tmp); /*******************************************************************************************************************/ ... ... } Furthermore, If you remove the line "switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0);" in function switch_ivr_session_echo, echo will not be sent back, but then spoken audio will be recorded correctly. This is what I meant with possible cross effect. Date: Fri, 26 Mar 2010 13:07:14 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you put 1 frame in write for each read with the data size i told you about in the last email On Fri, Mar 26, 2010 at 12:55 PM, Francisco Scaramanga wrote: yes, switch_core_session_read_frame will be timed right. This is working for me, but my troubles are in switch_core_session_write_frame. Is this function timed write too when I put data into this function? Date: Fri, 26 Mar 2010 12:37:04 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session You can use the data you have, yes the the read will already be timed right when you get a frame that has flag SFF_CNG you know that there was not a real frame to read but you should still write the size id determined from getting the read_impl and using read_impl->encoded_bytes_per_frame On Fri, Mar 26, 2010 at 12:23 PM, Francisco Scaramanga wrote: ok, which is the best mechanism to controll the amount of data. Can you recommend a timer? I use PCMA codec with 20 msec intervall. Date: Fri, 26 Mar 2010 11:31:43 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you can only write back the exact number of bytes you negotiated per interval. On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: Now I call switch_core_session_read_frame and switch_core_session_write_frame in the same foreground loop. Then I write audio into a file and as a result I see that there are many audio gaps. There seems to be a cross effect by using switch_core_session_write_frame and switch_core_session_read_frame together. If I only use switch_core_session_read_frame in the loop, there are no gaps and everything sounds perfect! What could be the problem? while (1) { // READ tstatus = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (tstatus==SWITCH_STATUS_SUCCESS) { // write audio in a testfile fwrite((short *)(read_frame)->data, 2, ((read_frame)->datalen)/2 ,tmp); switch_size_t ts_rf=read_frame->timestamp; } // WRITE vector vucIn; if (getAudio(&vucAudio)) // get next audio and send it back { memcpy( write_frame.data, &vucIn[0], vucIn.size()); write_frame.datalen=vucIn.size(); tstatus = switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0); } //Sleep(1);//? } Date: Mon, 22 Mar 2010 18:34:46 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you don't use the hook functions you use a frame pointer switch_frame_t *read_frame; switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); when i said to look at the stream file example i meant in the function itself to see how to read and write audio from a channel in a foreground loop. On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: I have an selfmade software which is controlled by a telephone call (ISDN/CAPI). The user calls with his phone, gets connected and can speak commands which are detected by an internal speech recognizer. Furthermore the user can accept or hangup incoming calls just by his voice command. It is also possible to dial out. Now I am adding VOIP functionality to my system and decided to use FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP interface for my software. The module must be able to: 1. recognize an incoming call which is the users control session (single session) I do this in statehandler function channel_on_init. 2. pick up another incoming call and intercept with my users control session. 3. Get the audio data from voip session (user control session) and send it to my application (by own tcp-socket) My idea is to use channel_write_frame to receive audio. 3. Send audio data from my application to voip user control session so the user can hear audio. My idea is to use channel_read_frame. explanation for using hooks: ---------------------------- The endpoint interface callback functions where never called in my module, even I tried to adapt the way it is done in mod_portaudio. So my workaround was to set hook functions channel_read_frame/channel_write_frame to handle audio. My problems: ------------ The hook functions are working fine if I have 2 sessions (put together by switch_ivr_intercept_session), but if I only have the single user control session no hooked function is called. In this case the only way to achieve that hooks are called, is to play audio with switch_ivr_play_file. But then, audio samples got lost sometimes. Maybe there is a better way to solve my requirements? Date: Mon, 22 Mar 2010 11:55:42 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session Why do you even need the hooks? What exactly are you trying to do? Maybe you should explain it. On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: I am now using the application interface and play a file after answering the call. The call is not connected to a another session, it's just a single session. SWITCH_STANDARD_APP(mod_my_function) { /* play audio file */ switch_ivr_play_file(session, NULL, "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", NULL); } Now the hooks for channel_write_frame and channel_read_frame are called! I write the audio frames into a file for testing if everything is correct. The data written in channel_write_frame seems to be perfect, but audio written in channel_read_frame only seems to be good at first sight. If I record 20 seconds of audio and listen to the audiofile I hear that 2 or 3 times short parts are missing. static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into a file fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) { // Spoken audio samples from my microphone are written, but sometimes samples are missing fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); } Is it possible that I don't get all audio samples by hooked functions? why audio recorded in channel_write_frame is brilliant and in channel_read_frame not? Date: Tue, 16 Mar 2010 13:59:28 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session you probably want to use the application interface and a while loop while reading a frame. see most of the functions in switch_ivr_play_say On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: The module I am writing should be an endpoint VOIP-interface for another program. The module should answer a call and transport incoming audio into a 3rd party application. Furthermore the 3rd party application sends audio data back to the caller. This is why I hooked channel_read_frame and channel_write_frame. How can I trigger the channel to do something that requires reading or writing audio? Does it make a difference to use the endpoint interface instead of the hooks? Date: Tue, 16 Mar 2010 08:34:18 -0500 From: anthony.minessale at gmail.com To: freeswitch-dev at lists.freeswitch.org Subject: Re: [Freeswitch-dev] hooked functions are not called while using one single session What exactly is your goal? those hooks will probably only be called if you send the channel to do something that requires reading and writing audio. On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: Hello, I am writing my own freeswitch module and have implemented 2 hooks for reading and writing audio (I did not implement the endpoint interface). My problem is that the channel_write_frame and channel_read_frame callback-functions are only called if I make an intercept with another session (switch_ivr_intercept_session), but my usecase has only one single Session for getting and putting audio data in my module. How can I achieve this? scaram /* on channel init I answer the session and set hooks */ static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_answer(channel); switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); switch_set_flag(tech_pvt, TFLAG_IO); switch_core_event_hook_add_write_frame(session, &channel_write_frame); switch_core_event_hook_add_read_frame(session, &channel_read_frame); } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { /* is only called when I intercept 2 Sessions */ } Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org iax:guest at conference.freeswitch.org/888 googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Treffe Freunde im Messenger Videochat! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Alles in einem Postfach ? Ich will Hotmail! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 Damit Privates privat bleibt! Internet Explorer 8! _______________________________________________ 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 -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 _________________________________________________________________ http://redirect.gimas.net/?n=M1003xWin7Geschenk2 Hol dir das Gratis-Geschenkpaket von Windows 7 f?r deinen PC ab! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100327/3e79b43c/attachment-0001.html From anthony.minessale at gmail.com Fri Mar 26 17:47:01 2010 From: anthony.minessale at gmail.com (Anthony Minessale) Date: Fri, 26 Mar 2010 19:47:01 -0500 Subject: [Freeswitch-dev] hooked functions are not called while using one single session In-Reply-To: References: <191c3a031003221634j134ae4f8q7d7df1714b2fbff6@mail.gmail.com> <191c3a031003260931k2f10e495q1ad1e0b7e76eaf19@mail.gmail.com> <191c3a031003261037r27e53b58qfd3a46051f730370@mail.gmail.com> <191c3a031003261107y794010b4u3d434ba856e3e61e@mail.gmail.com> Message-ID: <191c3a031003261747q76feb4d5p7e44d80988010c64@mail.gmail.com> The code you are looking at for playback and record has also changed the format of the channel to signed linear before writing, you are tyring to mimic that same thing without setting the read codec. you should be treating the input as unsigned char and writing the full frame->datalen into your file. you also may want to not open and close the file every 20ms since that can't be good on the OS. I hate to break it to you, but if you look around at all the code in FS, it's safe to assume that the code to read and write media is well tested, the more you start understanding that you need to learn more instead of thinking something is wrong with the code, the sooner you will find what you are looking for. You might want to try irc in #freeswitch-dev or #freeswitch on irc.freenode.net for a little more help since most people don't check this list for someone asking to learn how to program audio code with FS. On Fri, Mar 26, 2010 at 7:26 PM, Francisco Scaramanga wrote: > Function switch_ivr_session_echo is doing the same thing as I do in my > test, and it seems that something doesn't work correctly. > If you just edit switch_ivr_session_echo and add 3 lines of code for > logging audio data into a file, you can listen to the audio gaps. > > To reproduce the gaps it's the best to read a text for about 60 seconds, > then you will hear it. > > For the test I edited the dialplan: > > > > > > > > > .. and the code.. > > SWITCH_DECLARE(void) switch_ivr_session_echo(switch_core_session_t > *session, switch_input_args_t *args) > { > FILE *tmp = NULL; > ... > ... > > status = switch_core_session_read_frame(session, &read_frame, > SWITCH_IO_FLAG_NONE, 0); > if (!SWITCH_READ_ACCEPTABLE(status)) { > break; > } > > /*******************************************************************************************************************/ > /* TEST CODE FOR WRITING AUDIO INTO FILE , IF RECORD 1 MINUTE > AND LISTEN TO THE FILE YOU WILL GET AUDIO GAPS. */ > tmp = fopen("C:\\files\\recorded_echo", "ab"); > > fwrite((short *)(read_frame)->data, 2, > ((read_frame)->datalen)/2 ,tmp); > fclose(tmp); > > /*******************************************************************************************************************/ > ... > ... > } > > Furthermore, If you remove the line > "switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, > 0);" in function switch_ivr_session_echo, echo will not be sent back, but > then spoken audio will be recorded correctly. This is what I meant with > possible cross effect. > > ------------------------------ > Date: Fri, 26 Mar 2010 13:07:14 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you put 1 frame in write for each read with the data size i told you about > in the last email > > > On Fri, Mar 26, 2010 at 12:55 PM, Francisco Scaramanga wrote: > > yes, switch_core_session_read_frame will be timed right. This is working > for me, but my troubles are in switch_core_session_write_frame. > Is this function timed write too when I put data into this function? > > ------------------------------ > Date: Fri, 26 Mar 2010 12:37:04 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > You can use the data you have, > > yes the the read will already be timed right > > when you get a frame that has flag SFF_CNG you know that there was not a > real frame to read but you should still write > the size id determined from getting the read_impl and using > read_impl->encoded_bytes_per_frame > > > > On Fri, Mar 26, 2010 at 12:23 PM, Francisco Scaramanga wrote: > > ok, which is the best mechanism to controll the amount of data. Can you > recommend a timer? I use PCMA codec with 20 msec intervall. > > > ------------------------------ > Date: Fri, 26 Mar 2010 11:31:43 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you can only write back the exact number of bytes you negotiated per > interval. > > > On Fri, Mar 26, 2010 at 7:27 AM, Francisco Scaramanga wrote: > > Now I call switch_core_session_read_frame and > switch_core_session_write_frame in the same foreground loop. Then I write > audio into a file and as a result I see that there are many audio gaps. > > There seems to be a cross effect by using switch_core_session_write_frame > and switch_core_session_read_frame together. > If I only use switch_core_session_read_frame in the loop, there are no gaps > and everything sounds perfect! > > What could be the problem? > > > > while (1) > { > // READ > tstatus = switch_core_session_read_frame(session, &read_frame, > SWITCH_IO_FLAG_NONE, 0); > if (tstatus==SWITCH_STATUS_SUCCESS) > { // write audio in a testfile > fwrite((short *)(read_frame)->data, 2, > ((read_frame)->datalen)/2 ,tmp); > switch_size_t ts_rf=read_frame->timestamp; > } > > // WRITE > vector vucIn; > if (getAudio(&vucAudio)) // get next audio and send it back > { > memcpy( write_frame.data, &vucIn[0], vucIn.size()); > write_frame.datalen=vucIn.size(); > tstatus = switch_core_session_write_frame(session, &write_frame, > SWITCH_IO_FLAG_NONE, 0); > } > //Sleep(1);//? > } > > ------------------------------ > Date: Mon, 22 Mar 2010 18:34:46 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you don't use the hook functions you use a frame pointer > > switch_frame_t *read_frame; > > switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, > 0); > > when i said to look at the stream file example i meant in the function > itself to see how > to read and write audio from a channel in a foreground loop. > > > > On Mon, Mar 22, 2010 at 6:23 PM, Francisco Scaramanga wrote: > > I have an selfmade software which is controlled by a telephone call > (ISDN/CAPI). The user calls with his phone, gets > connected and can speak commands which are detected by an internal speech > recognizer. Furthermore the user can accept > or hangup incoming calls just by his voice command. It is also possible to > dial out. > > Now I am adding VOIP functionality to my system and decided to use > FreeSwitch. Therefore I wrote a FreeSwitch module which should be the VOIP > interface for my software. The module must be able to: > > 1. recognize an incoming call which is the users control session (single > session) > I do this in statehandler function channel_on_init. > 2. pick up another incoming call and intercept with my users control > session. > 3. Get the audio data from voip session (user control session) and send it > to my application (by own tcp-socket) > My idea is to use channel_write_frame to receive audio. > 3. Send audio data from my application to voip user control session so the > user can hear audio. > My idea is to use channel_read_frame. > > explanation for using hooks: > ---------------------------- > The endpoint interface callback functions where never called in my module, > even I tried to adapt the way it is done > in mod_portaudio. So my workaround was to set hook functions > channel_read_frame/channel_write_frame to handle audio. > > My problems: > ------------ > The hook functions are working fine if I have 2 sessions (put together by > switch_ivr_intercept_session), but if I only have the single user control > session no hooked function is called. In this case the only way to achieve > that hooks are called, is to play audio with switch_ivr_play_file. But then, > audio samples got lost sometimes. > > Maybe there is a better way to solve my requirements? > > > > > ------------------------------ > Date: Mon, 22 Mar 2010 11:55:42 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > Why do you even need the hooks? > What exactly are you trying to do? > Maybe you should explain it. > > > On Mon, Mar 22, 2010 at 5:33 AM, Francisco Scaramanga wrote: > > I am now using the application interface and play a file after answering > the call. The call is not connected to a another session, it's just a single > session. > > SWITCH_STANDARD_APP(mod_my_function) > { > /* play audio file */ > switch_ivr_play_file(session, NULL, > "C:\\freeswitch1.0.4\\debug\\sounds\\music\\8000\\danza-espanola-op-37-h-142-xii-arabesca.wav", > NULL); > } > > Now the hooks for channel_write_frame and channel_read_frame are called! I > write the audio frames into a file for testing if everything is correct. The > data written in channel_write_frame seems to be perfect, but audio written > in channel_read_frame only seems to be good at first sight. If I record 20 > seconds of audio and listen to the audiofile I hear that 2 or 3 times short > parts are missing. > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > // Audio from danza-espanola-op-37-h-142-xii-arabesca.wav is written into > a file > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t **frame, switch_io_flag_t flags, int stream_id) > { > // Spoken audio samples from my microphone are written, but sometimes > samples are missing > fwrite((short *)frame->data, 2, frame->datalen/2 ,tmp); > } > > Is it possible that I don't get all audio samples by hooked functions? why > audio recorded in channel_write_frame is brilliant and in channel_read_frame > not? > > > > > > > ------------------------------ > Date: Tue, 16 Mar 2010 13:59:28 -0500 > > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > you probably want to use the application interface and a while loop while > reading a frame. > > see most of the functions in switch_ivr_play_say > > > On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga wrote: > > The module I am writing should be an endpoint VOIP-interface for another > program. The module should answer a call and transport incoming audio into a > 3rd party application. Furthermore the 3rd party application sends audio > data back to the caller. This is why I hooked channel_read_frame and > channel_write_frame. > > How can I trigger the channel to do something that requires reading or > writing audio? Does it make a difference to use the endpoint interface > instead of the hooks? > > > ------------------------------ > Date: Tue, 16 Mar 2010 08:34:18 -0500 > From: anthony.minessale at gmail.com > To: freeswitch-dev at lists.freeswitch.org > Subject: Re: [Freeswitch-dev] hooked functions are not called while using > one single session > > > What exactly is your goal? > > those hooks will probably only be called if you send the channel to do > something that > requires reading and writing audio. > > > On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga wrote: > > Hello, > I am writing my own freeswitch module and have implemented 2 hooks for > reading and writing audio (I did not implement the endpoint interface). > My problem is that the channel_write_frame and channel_read_frame > callback-functions are only called if I make an intercept with another > session (switch_ivr_intercept_session), but my usecase has only one single > Session for getting and putting audio data in my module. > > How can I achieve this? > scaram > > /* on channel init I answer the session and set hooks */ > static switch_status_t channel_on_init(switch_core_session_t *session) > { > switch_channel_t *channel = switch_core_session_get_channel(session); > switch_channel_answer(channel); > > switch_channel_set_state(channel, CS_EXCHANGE_MEDIA); > switch_set_flag(tech_pvt, TFLAG_IO); > > switch_core_event_hook_add_write_frame(session, &channel_write_frame); > switch_core_event_hook_add_read_frame(session, &channel_read_frame); > } > > static switch_status_t channel_write_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > static switch_status_t channel_read_frame(switch_core_session_t *session, > switch_frame_t *frame, switch_io_flag_t flags, int stream_id) > { > /* is only called when I intercept 2 Sessions */ > } > > > > ------------------------------ > Ein Postfach f?r Alles ? bei Hotmail 5 E-Mail-Adressen online verwalten! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > iax:guest at conference.freeswitch.org/888 > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Treffe Freunde im Messenger Videochat! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Alles in einem Postfach ? Ich will Hotmail! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Damit Privates privat bleibt! Internet Explorer 8! > > _______________________________________________ > 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 > > > > > -- > Anthony Minessale II > > FreeSWITCH http://www.freeswitch.org/ > ClueCon http://www.cluecon.com/ > Twitter: http://twitter.com/FreeSWITCH_wire > > AIM: anthm > MSN:anthony_minessale at hotmail.com > GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com > IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888 at conference.freeswitch.org > googletalk:conf+888 at conference.freeswitch.org > pstn:+19193869900 > > ------------------------------ > Hol dir das Gratis-Geschenkpaket von Windows 7 f?r deinen PC ab! > > _______________________________________________ > 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 > > -- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale at hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888 at conference.freeswitch.org googletalk:conf+888 at conference.freeswitch.org pstn:+19193869900 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100326/95e95ea8/attachment-0001.html From math.parent at gmail.com Sat Mar 27 02:28:27 2010 From: math.parent at gmail.com (Mathieu Parent) Date: Sat, 27 Mar 2010 10:28:27 +0100 Subject: [Freeswitch-dev] Attention all FreeSWITCH and Openzap committors. ACTION REQUIRED In-Reply-To: References: Message-ID: <960738411003270228o546e3a3bk8360ee68d62d4c4b@mail.gmail.com> Hello, On Fri, Mar 26, 2010 at 6:59 PM, Michael Jerris wrote: > We are in process of our migration from svn to git for our main source control. ?We will likely still have a read only svn mirror, but all future commits will go to git after the migration. ?In order to proceed with this process, I will need your full name, public key, email address, and svn username. ?If you have outstanding svn branches that you would like to keep, please contact me with these details as well, I do not currently plan on merging any branches from svn to the new git repo. My login is sathieu Attached is my key. (...) Mathieu Parent -------------- next part -------------- A non-text attachment was scrubbed... Name: id_rsa.pub Type: application/octet-stream Size: 398 bytes Desc: not available Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100327/e0262851/attachment.obj From andrewkt at aktzero.com Sat Mar 27 22:32:41 2010 From: andrewkt at aktzero.com (Andrew Thompson) Date: Sun, 28 Mar 2010 01:32:41 -0400 Subject: [Freeswitch-dev] Moving FreeSWITCH forward (release planning) Message-ID: <4BAEE9F9.2090307@aktzero.com> Many of you will skim this and think "I want to see what bkw/anthm/etc have to say before I act." Don't. The reason 1.0.5 has not been released so far is enough people have not stepped up, took the initiative, and done something/anything productive. (If you're actively contributing to code/wiki/jiras, I'm probably not talking about you.) I had a brief, possibly anger inducing chat with anthm on IRC just about a week ago. I'm not angry, and I hope he's not angry. What I want is to help move FreeSWITCH forward. I realize that by pointing out things that need to be done, I volunteer myself to do them. I accept that responsibility, and we can deputize anyone else with a pulse who wants to own a piece of the process. I think everyone agrees that 1.0.4 is pretty stale, "archaic" I think I've heard. We're now 29 weeks since 1.0.4, the longest we've been without a new release since 1.0.0 was released. I've spent the week studying what release process information I could find for other open source projects. I've distilled that as best as I can into a temporary wiki page. It may be wrong. It may not be appropriate for FreeSWITCH. But, it's there. If it's horribly wrong, it can be fixed. It can be expanded. It can be formalized, agreed upon, and adopted. The packagers and developers that come along in the future can look at it and say 'OK, this is how they do releases.' They can know when to expect new releases, and who to contact for distribution specific issues. I submit for your review: http://wiki.freeswitch.org/wiki/User:Tobarja/Release_Process_Improvement -- Andrew Thompson From Suneel.Papineni at mettoni.com Wed Mar 31 09:26:45 2010 From: Suneel.Papineni at mettoni.com (Suneel Papineni) Date: Wed, 31 Mar 2010 17:26:45 +0100 Subject: [Freeswitch-dev] Call Hold - moh direction Message-ID: <3181A30B8C35AB4AA8577B78DDF4613806ADD317@nickel.mettonigroup.com> Hi, I am testing Call Hold command and got a doubt. Please clarify me if this is correct. I made a call from extension 1 to FSComm and call is answered. Now I want to put extension 1 on hold, so call hold command is issued to FSComm as "api uuid_hold " This has put call on hold and I expected music on hold to be played to extension 1, but moh is played to FSComm and not to the extension. Whereas if I change the command to "api uuid_hold ", then moh is played to the extension. Clarify me if my expectation is wrong and it is working correctly. I am testing with FS version "freeswitch-1.0.5-20100321-0400" on Windows system. Thanks & Regards Suneel ************************************************************************* Please consider the environment before printing this e-mail ************************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. http://www.mettoni.com Mettoni Ltd Registered in England and Wales: 4485956 9400 Garsington Road, Oxford Business Park, Oxford, OX4 2HN ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100331/44450476/attachment.html From janvb at live.com Wed Mar 31 15:55:16 2010 From: janvb at live.com (Jan Berger) Date: Thu, 1 Apr 2010 00:55:16 +0200 Subject: [Freeswitch-dev] Start-up Error In-Reply-To: <3181A30B8C35AB4AA8577B78DDF4613806ADD317@nickel.mettonigroup.com> References: <3181A30B8C35AB4AA8577B78DDF4613806ADD317@nickel.mettonigroup.com> Message-ID: hi, I have installed FreeSWITCH as an service on my laptop, and it normally works fine. But, it fails to start on start-up. All SIP UA's fail because FreeSWITCH start before the laptop register on the wirelss LAN. I see that FreeSWITCH detect that IP is changing, but it still don't bring the SIP server live - I have to manually stop/start it for it to work. Is there any way around this? Jan _________________________________________________________________ Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. https://signup.live.com/signup.aspx?id=60969 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100401/df5e1012/attachment.html