< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate-users] During shutdown, SUBSCRIBE with expires 0 does not go through o/ proxy


Outbound proxy settings are only used for dialog creating requests – once the dialog is established the outbound proxy setting is no longer used.  Subscriptions create dialogs, so subscription refreshes will not go through the outbound proxy.  Registrations do not create dialogs, so registration refreshes will use the outbound proxy setting.  This behavior is compliant with RFC3261.  Some SIP stacks define an “Outbound Proxy” setting differently, where all requests (in or out of dialog) are sent via the outbound proxy. 

 

If the “outbound proxy” were to use record-routing, then all of the mid-dialog requests would also go through the outbound proxy.

 

Scott

 

From: resiprocate-users-bounces@xxxxxxxxxxxxxxx [mailto:resiprocate-users-bounces@xxxxxxxxxxxxxxx] On Behalf Of SCG2
Sent: Tuesday, August 19, 2008 7:04 PM
To: resiprocate-users@xxxxxxxxxxxxxxx
Subject: [reSIProcate-users] During shutdown,SUBSCRIBE with expires 0 does not go through o/ proxy

 

During application startup, REGISTER and SUBSCRIBE honour the profile setting which includes an o/b proxy.

 

During application shutdown, a SUBSCRIBE 0 and REGISTER 0 are issued as part of the end() processing. However only 1 of those messages works:

 

·         The SUBSCRIBE 0 is sent directly to the Proxy, bypassing the o/b proxy, which is wrong

 

·         The REGISTER 0 works symmetrically to the original REGISTER, going via the o/b proxy.

 

 

I have isolated the difference to this line in DialogUsageManager::endUsingOutboundIfAppropriate

 

 

if (userProfile.hasOutboundProxy() && !findDialog(id))

{

    // Set up o/b proxy

}

 

The clause is skipped since the SUBSCRIBE 0 dialog matches the original SUBSCRIBE, hence does not look like a new dialog.

 

What am I doing wrong?

 

Thanks.