[Freeswitch-users] 2 SIP Lines, Difficulty Originating Call
Chris Danielson
chris at maxpowersoft.com
Wed Sep 12 22:44:28 PDT 2007
My apologies for not adding it in my previous message, but my lan
network is a 10.0.0.x network. The 192.168.0.1 device does not exist on
my network.
Chris Danielson wrote:
> After running some more tests I noticed something very interesting...
> see the 192.168.0.1 line:
>
> 2007-09-12 20:49:00 [DEBUG] sofia.c:1028 sofia_handle_sip_i_state()
> Channel sofia/sip.vonics.net/18881234567 entering state [calling]
> sres_resolver_receive(0x556cd0, 16) called
> RR received sip.vonics.net. CNAME IN 890 rdlen=9
> RR received vonics.net. SOA IN 7199 rdlen=46
> sres_cache_get(0x549370, SRV, "_sip._udp.sip.vonics.net.") called
> rr found in cache: _sip._udp.sip.vonics.net. 33
> rr found in cache: _sip._udp.sip.vonics.net. 33
> rr found in cache: _sip._udp.sip.vonics.net. 33
> rr found in cache: _sip._udp.sip.vonics.net. 33
> sres_cache_get(0x549370, SRV, "_sip._udp.sip.vonics.net.") returned 4
> entries
> nta: for "sip.vonics.net" query "_sip._udp.sip.vonics.net" SRV (cached)
> nta: _sip._udp.sip.vonics.net IN SRV 0 0 5060 sipserver1.vonics.net.
> (udp)
> nta: _sip._udp.sip.vonics.net IN SRV 1 0 13412 sipserver1.vonics.net.
> (udp)
> nta: _sip._udp.sip.vonics.net IN SRV 2 0 5060 sipserver2.vonics.net.
> (udp)
> nta: _sip._udp.sip.vonics.net IN SRV 3 0 13412 sipserver2.vonics.net.
> (udp)
> sres_cache_get(0x549370, A, "sipserver1.vonics.net.") called
> nta: for "sip.vonics.net" query "sipserver1.vonics.net." A
> sres_query(0x556cd0, 0x690fb0, A, "sipserver1.vonics.net.") called
> sres_send_dns_query(0x556cd0, 0x691a70) called
> sres_send_dns_query(0x556cd0, 0x691a70) id=14532 A
> sipserver1.vonics.net. (to [192.168.0.1]:53)
> sres_resolver_receive(0x556cd0, 16) called
> sres_decode_msg: matching query for id=14531
> sres_resolver_receive(0x556cd0, 16) called
> RR received sipserver1.vonics.net. CNAME IN 3599 rdlen=9
> RR received juliet.vonics.net. A IN 4663 rdlen=4
> RR received vonics.net. NS IN 4663 rdlen=6
> RR received vonics.net. NS IN 4663 rdlen=6
> RR received vonics.net. NS IN 4663 rdlen=6
>
> And following this log I ran a netstat just to see the socket
>
> MaxPowerSoft001:~# netstat -nalp |grep freeswitch
> tcp 0 0 10.0.0.2:13412 0.0.0.0:*
> LISTEN 14720/freeswitch
> udp 0 0 10.0.0.2:32826 192.168.0.1:53
> ESTABLISHED14720/freeswitch
> udp 0 0 10.0.0.2:13412
> 0.0.0.0:* 14720/freeswitch
>
>
> I am wondering if the 192.168.0.1 address is causing my issues.
> Thanks again for any light you shine on this issue.
>
> Kind Regards,
> Chris Danielson
>
> Chris Danielson wrote:
>> I attempted the session.streamFile(...) and was able to successfully
>> hear the wav file. I also attempted calling the session.answer() for
>> a second time within the cf_bridge_call function. Still, I am unable
>> to hear the ringing sound even though the phone that I called is
>> actually ringing. When the phone is answered, the originate appears
>> to fail due to a 60 second timeout, which is reported as a
>> NO_ANSWER. This happens regardless of whether or not the phone I am
>> calling is answered or not.
>>
>> Here is the current execution flow within my Javascript:
>>
>> function cf_bridge_call(phone) {
>> var str = "sofia/gateway/line2/"+phone;
>> session.setVariable("ringback", "%(2000, 4000, 440.0, 480.0)");
>> session.preAnswer(); /* attemped a session.answer() here in
>> another test. The sound file still played, not no ringing was heard. */
>> session.streamFile("/usr/local/freeswitch/sounds/you_rang.wav");
>> session.execute("bridge", str);
>> }
>>
>> session.answer();
>> session.flushDigits();
>> /**
>> * Query database and dynamically load a phone number into variable
>> **/
>> var phoneNo = db_get_phone();
>> cf_bridge_call(phoneNo);
>>
>> The log output was:
>>
>> 2007-09-08 01:54:35 [DEBUG] switch_ivr_play_say.c:1007
>> switch_ivr_play_file() done playing file
>> 2007-09-08 01:54:35 [NOTICE] switch_channel.c:385
>> switch_channel_set_name() New Chan sofia/sip.vonics.net/18881234567
>> [1f766c60-5de9-11dc-af73-3b3c22977fdb]
>> 2007-09-08 01:54:35 [DEBUG] mod_sofia.c:1431 sofia_outgoing_channel()
>> sofia/sip.vonics.net/18881234567 State Change CS_NEW -> CS_INIT
>> 2007-09-08 01:54:35 [DEBUG] switch_core_session.c:647
>> switch_core_session_signal_state_change() Kill
>> sofia/sip.vonics.net/18881234567 [BREAK]
>> 2007-09-08 01:54:35 [DEBUG] switch_core_state_machine.c:383
>> switch_core_session_run() (sofia/sip.vonics.net/18881234567) State INIT
>> 2007-09-08 01:54:35 [DEBUG] mod_sofia.c:92 sofia_on_init() SOFIA INIT
>> 2007-09-08 01:54:35 [DEBUG] sofia.c:71 sofia_event_callback() event
>> [nua_i_state] status [0][INVITE sent] session:
>> sofia/sip.vonics.net/18881234567
>> 2007-09-08 01:54:35 [DEBUG] sofia.c:1028 sofia_handle_sip_i_state()
>> Channel sofia/sip.vonics.net/18881234567 entering state [calling]
>> 2007-09-08 01:54:35 [DEBUG] mod_sofia.c:105 sofia_on_init()
>> sofia/sip.vonics.net/18881234567 State Change CS_INIT -> CS_RING
>> 2007-09-08 01:54:35 [DEBUG] switch_core_session.c:647
>> switch_core_session_signal_state_change() Kill
>> sofia/sip.vonics.net/18881234567 [BREAK]
>> 2007-09-08 01:54:35 [DEBUG] switch_core_state_machine.c:418
>> switch_core_session_run() (sofia/sip.vonics.net/18881234567) State RING
>> 2007-09-08 01:54:35 [DEBUG] mod_sofia.c:120 sofia_on_ring() SOFIA RING
>> 2007-09-08 01:54:35 [DEBUG] switch_ivr_originate.c:48
>> originate_on_ring() sofia/sip.vonics.net/18881234567 State Change
>> CS_RING -> CS_HOLD
>> 2007-09-08 01:54:35 [DEBUG] switch_core_session.c:647
>> switch_core_session_signal_state_change() Kill
>> sofia/sip.vonics.net/18881234567 [BREAK]
>> 2007-09-08 01:54:35 [DEBUG] switch_core_state_machine.c:596
>> switch_core_session_run() (sofia/sip.vonics.net/18881234567) State HOLD
>> 2007-09-08 01:54:35 [DEBUG] switch_core_state_machine.c:204
>> switch_core_standard_on_hold() Standard HOLD
>> 2007-09-08 01:54:35 [DEBUG] switch_ivr_originate.c:619
>> switch_ivr_originate() Raw Codec Activation Success L16 at 8000hz 1
>> channel 20ms
>> 2007-09-08 01:54:35 [DEBUG] switch_ivr_originate.c:667
>> switch_ivr_originate() Play Ringback Tone [%(2000, 4000, 440.0, 480.0)]
>> 2007-09-08 01:54:35 [DEBUG] sofia.c:71 sofia_event_callback() event
>> [nua_r_invite] status [401][Unauthorized] session:
>> sofia/sip.vonics.net/18881234567
>> 2007-09-08 01:54:35 [DEBUG] sofia_reg.c:691
>> sofia_reg_handle_sip_r_challenge() Authenticating 'FreeSWITCH' with
>> 'Digest:"sip.vonics.net":16191111111:5874'.
>> 2007-09-08 01:54:35 [DEBUG] sofia.c:71 sofia_event_callback() event
>> [nua_i_state] status [0][INVITE sent] session:
>> sofia/sip.vonics.net/18881234567
>> 2007-09-08 01:54:35 [DEBUG] sofia.c:1028 sofia_handle_sip_i_state()
>> Channel sofia/sip.vonics.net/18881234567 entering state [calling]
>> 2007-09-08 01:55:35 [NOTICE] switch_ivr_originate.c:805
>> switch_ivr_originate() Hangup sofia/sip.vonics.net/18881234567
>> [CS_HOLD] [NO_ANSWER]
>> 2007-09-08 01:55:35 [DEBUG] switch_channel.c:1076
>> switch_channel_perform_hangup() Kill sofia/sip.vonics.net/18881234567
>> [KILL]
>> 2007-09-08 01:55:35 [DEBUG] switch_core_session.c:647
>> switch_core_session_signal_state_change() Kill
>> sofia/sip.vonics.net/18881234567 [BREAK]
>> 2007-09-08 01:55:35 [DEBUG] switch_ivr_originate.c:878
>> switch_ivr_originate() Originate Cancelled by originator termination
>> Cause: 19 [NO_ANSWER]
>> 2007-09-08 01:55:35 [INFO] mod_dptools.c:1087 audio_bridge_function()
>> Originate Failed. Cause: NO_ANSWER
>>
>> Thanks again for all the help.
>>
>> Kind Regards,
>> Chris Danielson
>>
>> Anthony Minessale wrote:
>>> you can find out by playing a file in the script
>>> to make sure you have an audio path.
>>>
>>> session.preAnswer();
>>> session.streamFile("/some.wav");
>>>
>>> If that doesn't work the inbound device may not support early media
>>> so try session.answer(); instead to compare what happens when you
>>> send a 200 ok instead of a 183 progress
>>>
>>>
>>>
>>> Anthony Minessale II
>>>
>>> FreeSWITCH http://www.freeswitch.org/
>>> ClueCon http://www.cluecon.com/
>>>
>>> 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:213-799-1400
>>>
>>>
>>> ----- Original Message ----
>>> From: Chris Danielson <chris at maxpowersoft.com>
>>> To: freeswitch-users at lists.freeswitch.org
>>> Sent: Thursday, September 6, 2007 11:50:29 PM
>>> Subject: Re: [Freeswitch-users] 2 SIP Lines, Difficulty Originating Call
>>>
>>> Thanks again for all the help. My apologies for not replying
>>> sooner, I was out of town for a week and needed some extra time to
>>> research and try some of the things you had mentioned. Everything
>>> that is brought up in this thread will get documented by me within
>>> the wiki.
>>>
>>> So far I have tried both techniques within my JavaScript code that
>>> Anthony mentioned. Here is one example:
>>>
>>> function cf_bridge_call(phone) {
>>> var str = "sofia/gateway/line2/"+phone;
>>> session.setVariable("ringback", "%(2000, 4000, 440.0, 480.0)");
>>> session.preAnswer();
>>> session.execute("bridge", str);
>>> }
>>> cf_bridge_call("18881234567");
>>>
>>> When I make this call I still do not hear the ringing and notice
>>> that the console renders:
>>> nta: received 180 Ringing for INVITE (87950735)
>>> nta: 180 Ringing was discarded
>>>
>>> When the phone is actually answered, I still cannot hear the person
>>> on the other side speaking too.
>>>
>>> Is this possibly due to the fact that I am having a NAT issue? Or
>>> could this be that my carrier is doing something out of the norm?
>>> And finally, should I implement this strictly as a dialplan within
>>> the default_context.xml file and avoid handling this functionality
>>> within JavaScript?
>>>
>>> Kind Regards,
>>> Chris Danielson
>>>
>>> Anthony Minessale wrote:
>>>> You should choose one or the other not both.
>>>> One is inband ringing generated by FreeSWITCH and the other
>>>> is just the sip message telling the phone to indicate ringinig.
>>>> Here is a description I wrote on an earlier posting here that
>>>> someone may want to stick in the wiki.
>>>>
>>>> ---snip
>>>>
>>>> ring_ready is a dialplan application that sends the protocol
>>>> specific message to indicate ringing. In the case of SIP a 180
>>>> Ringing.
>>>>
>>>> ringback is a channel variable you can set to artificially generate
>>>> a tone or play an audio file to an originating channel while it
>>>> waits to be connected to another call.
>>>>
>>>> pre_answer is a dialplan application that will send the protocol
>>>> specific message to indicate early media. In the case of SIP a 183
>>>> Progress
>>>>
>>>> So, if you call into freeswitch with sip and the first entry in
>>>> your dialplan is ring_ready followed by a bridge to some other
>>>> destination when it hits ring_ready it will send "180 Ringing" back
>>>> to your phone so it can generate the ringing sound.
>>>>
>>>> If instead you use the set application to set ringback to a tone
>>>> spec or audio file followed by a call to pre_answer to establish an
>>>> early media connection followed by a call to bridge to another
>>>> dest, then the core will generate this audio locally and send it
>>>> back to your phone. Again, this occurs during early media meaning
>>>> the call has not been answered but the SIP has negotiated a media
>>>> path in advance for this type of pre-answer audio indication. SIP
>>>> has no promise that early media must be supported so some switches
>>>> and devices opt to not support it meaning you may not be able to
>>>> hear any audio until the call is officially answered which would
>>>> keep you from hearing the artificial ringback at all.
>>>>
>>>>
>>>>
>>>>
>>>> Anthony Minessale II
>>>>
>>>> FreeSWITCH http://www.freeswitch.org/
>>>> ClueCon http://www.cluecon.com/
>>>>
>>>> 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:213-799-1400
>>>>
>>>>
>>>> ----- Original Message ----
>>>> From: Tamas Cseke <cstomi.levlist at gmail.com>
>>>> To: chris at maxpowersoft.com; freeswitch-users at lists.freeswitch.org
>>>> Sent: Monday, August 27, 2007 2:34:22 AM
>>>> Subject: Re: [Freeswitch-users] 2 SIP Lines, Difficulty Originating
>>>> Call
>>>>
>>>> Chris Danielson írta:
>>>> > If any one can help me, I am having two issues. Basically, while my
>>>> > javascript is executing a single inbound SIP call the script
>>>> > conditionally gets to a point where the end-user can originate a
>>>> call to
>>>> > an external phone number. Keep in mind that I have two sip lines
>>>> > defined as gateways supplied by my carrier vonics.net. Upon
>>>> calling the
>>>> > originate method, the call is actually placed and the destination
>>>> phone
>>>> > actually begins to ring. At this point I still cannot hear the
>>>> ringing
>>>> > on the original session that was originated by my inbound
>>>> call. Also,
>>>> > the originate method times out regardless of whether or not the
>>>> > destination "phone" number was answered or not.
>>>> >
>>>> > So my two issues are:
>>>> > 1) Why does the originate method start a call, the destination
>>>> phone
>>>> > called actually rings, but always times out, regardless of
>>>> whether or
>>>> > not the phone was answered?
>>>> > 2) When calling the originate method, I never hear the phone
>>>> ringing on
>>>> > my inbound connection.
>>>> >
>>>> You should call ring_ready app, if you want to hear the ringing afaik.
>>>>
>>>> /* set ringback tone */
>>>> session.setVariable("ringback", "%(2000, 4000, 440.0,
>>>> 480.0)");
>>>> session.execute("ring_ready", "");
>>>>
>>>> I found these pages, maybe you can find more about it on wiki.
>>>> http://wiki.freeswitch.org/wiki/Custom_Ring_Back_Tones
>>>> http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_ring_ready
>>>>
>>>> Hope this help!
>>>>
>>>> Regards,
>>>> Tamas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20070912/2b677745/attachment-0002.html
More information about the FreeSWITCH-users
mailing list