[Freeswitch-users] Hangup problem/SIP BYE lacking authentication

Wellie Chao wchao at yahoo.com
Sun Nov 2 21:40:27 PST 2008


I added some debug code and determined that session is null in sofia_reg.c 
in the sofia_reg_handle_sip_r_challenge function, which is called by 
sofia_event_callback in sofia.c. I added further debug code and found that 
sofia_event_callback only sets session if sofia_private->uuid exists. The 
strange thing is that during the call setup for a call from Metaswitch to 
Freeswitch (which is unauthenticated, remember), sofia_private->uuid 
exists and is a valid call ID, and session is also set to a valid value, 
but when I hang up from the Freeswitch side, sofia_private->uuid is null 
in that particular call to sofia_event_callback (and thus session is 
obviously left null). On the call setup, there are two legs (Metaswitch to 
Freeswitch, then Freeswitch to the extension). The call hangup is being 
performed by the extension. The session initiated by Metaswitch is 
unauthenticated, as I mentioned.

I can look into this further, but I wanted to see if you had any quick 
pointers before delving in more deeply.

On Fri, 31 Oct 2008, Anthony Minessale wrote:

> Date: Fri, 31 Oct 2008 10:16:25 -0500
> From: Anthony Minessale <anthony.minessale at gmail.com>
> Reply-To: freeswitch-users at lists.freeswitch.org
> To: freeswitch-users at lists.freeswitch.org
> Subject: Re: [Freeswitch-users] Hangup problem/SIP BYE lacking authentication
> 
> Yes i mean add it to the dial string inside the {}
> it only will work if the channel with the variable set is tied to the FS session obj.
> 
> sofia_reg.c 1122 is where it all happens
> so if session is null there the var code won't work.
> 
> you can add some debug code there and try to figure out what's wrong.
> 
> 
> 
> On Fri, Oct 31, 2008 at 10:06 AM, Wellie Chao <wchao at yahoo.com> wrote:
>       I tried the following in conf/dialplan/extensions/7_inbound.xml:
>
>        <extension name="broadview_inbound_9325">
>          <condition field="destination_number" expression="^12675379325|2675379325$">
>      <action application="export" data="sip_use_gateway=broadview"/>
>      <action application="transfer" data="1001"/>
>    </condition>
>  </extension>
> 
> Also tried the following in conf/dialplan/public.xml:
> 
>    <extension name="public_did_broadview">
>      <condition field="destination_number" expression="^(12675379324|2675379324|12675379325|2675379325)$">
>        <action application="export" data="sip_use_gateway=broadview"/>
>        <action application="transfer" data="$1 XML default"/>
>      </condition>
>    </extension>
> 
> Neither helped. When you say add it to the dial string directly that calls it, I'm not sure what you mean (I know the
> general format of {var_name=var_value}, so that's not my question). Do you mean add it in front of the 1001 as the target
> of the transfer?
> 
> By the way, hangup DOES work properly if I create another gateway and name it 64.115.128.6. However, I'd love to get it
> working without having to create a duplicate gateway with a non-intuitive name. It's definitely a lot better than nothing
> to do it that way, but I'd prefer to have it work with the sip_use_gateway scheme you mention. I'm assuming I'm just doing
> something wrong with how sip_use_gateway should be specified in the XML configuration files. Can you tell what I am doing
> wrong?
> 
> On Fri, 31 Oct 2008, Anthony Minessale wrote:
>
>       Date: Fri, 31 Oct 2008 09:49:18 -0500
> 
> From: Anthony Minessale <anthony.minessale at gmail.com>
> Reply-To: freeswitch-users at lists.freeswitch.org
> To: freeswitch-users at lists.freeswitch.org
> Subject: Re: [Freeswitch-users] Hangup problem/SIP BYE lacking authentication
> 
> try using "export" instead of "set" or add it to the dial string directly that calls it
> 
> {sip_use_gateway=broadview}sofia/.......
> 
> 
> On Fri, Oct 31, 2008 at 9:42 AM, Wellie Chao <wchao at yahoo.com> wrote:
>      Where do you recommend I put the sip_use_gateway=broadview action?
> 
>      I have tried in the conf/dialplan/public.xml like so:
> 
>         <extension name="public_did_broadview">
>           <condition field="destination_number" expression="^(12675379324|2675379324|12675379325|2675379325)$">
>             <action application="set" data="sip_use_gateway=broadview"/>
>             <action application="transfer" data="$1 XML default"/>
>           </condition>
>         </extension>
> 
>      I've also tried in conf/dialplan/extensions/7_inbound.xml (a file I created that is pulled in via an include
>      pre-processor directive):
> 
>       <extension name="broadview_inbound_9325">
>         <condition field="destination_number" expression="^12675379325|2675379325$">
>           <action application="set" data="sip_use_gateway=broadview"/>
>           <action application="transfer" data="1001"/>
>         </condition>
>       </extension>
> 
>      I have a gateway named broadview in conf/sip_profiles/external. In both cases, I still get the following error
> on
>      the Freeswitch console:
> 
>      2008-10-31 10:37:28 [ERR] sofia_reg.c:1089 sofia_reg_handle_sip_r_challenge() No Matching gateway found
> 
>      On Fri, 31 Oct 2008, Anthony Minessale wrote:
> 
>            Date: Fri, 31 Oct 2008 08:04:23 -0500
>            From: Anthony Minessale <anthony.minessale at gmail.com>
> Reply-To: freeswitch-users at lists.freeswitch.org
> To: freeswitch-users at lists.freeswitch.org
> Subject: Re: [Freeswitch-users] Hangup problem/SIP BYE lacking authentication
> 
> See what they said in the challenge?
> 
> WWW-Authenticate: Digest 
> realm="SipLocal",nonce="3e952db60fb8",stale=false,algorithm=MD5,qop="auth"
> 
> Since this is a spontaneous challenge (which i think is somewhat silly since it lets you talk on the phone for 40
> minutes then makes you authenticate to hangup but *shrug*) FS does not know which gateway to use for credentials.
> 
> The realm they sent was SipLocal so FS is looking in its configuration for a gateway with that name.
> The 2nd thing it tries is the host from the To: header (64.115.128.6).  if there was a gateway with either of those
> names,
> it would find it.
> 
> So try naming your gateway SipLocal or 64.115.128.6
> or you can try setting the variable sip_use_gateway=<whatever> on the channel which can give it a hint which
> gateway to use.
> 
> 
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
> 
> 
> 
> 
> --
> Anthony Minessale II
> 
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> 
> 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
> 
> 
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
> 
> 
> 
> 
> --
> Anthony Minessale II
> 
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> 
> 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
> 
>


More information about the FreeSWITCH-users mailing list