Hello,
fix_route_dialog() uses the information from the Contact of the 200 OK.
So if that is ok, you can use fix_route_dialog() to fix the bogus BYE
messages.
Regards,
Vlad Paiu
OpenSIPS Developer
On 11/12/2011 06:22 PM, Matt Stockton wrote:
After doing some reading, thinking that I may be able to solve my
problem using the dialog module and fix_route_dialog(). Since the
Contact Header is being re-written by the Provider, will
fix_route_dialog() change it on the way in to the appropriate value in
the dialog, causing the message to be forwarded correctly? The code
for what I'm thinking is below. Unfortunately, the issue is so
intermittent that I have not been able to re-produce the case of the
Provider re-writing the Contact Header since I started trying this
modification. Does anyone know if this strategy will work?
if (!has_totag()) {
create_dialog();
# initial request
record_route();
}
else {
# sequential request - obey the indicated route
loose_route();
if ($DLG_status!=NULL) {
if (!validate_dialog()) {
fix_route_dialog();
}
}
t_relay();
exit;
}
On Fri, Nov 11, 2011 at 9:23 AM, Matt Stockton <[email protected]
<mailto:[email protected]>> wrote:
I added the following to my config:
onreply_route[pstn_outgoing] {
setflag(1);
if(t_check_status("200")) {
if(search("Content-type: application/sdp")) {
fix_nated_sdp("8", "x.x.x.x");
}
}
}
And the only thing that seemed to have changed in the SIP
signalling is, when my provider sends SIP 200 OK to OpenSips,
OpenSips is just re-writing the OK Content before sending onto
Freeswitch. It doesn't look like any messages have changed that
are going from OpenSips to the provider, and the provider is still
sending the BYE message with the Contact Header intermittently to
the different IPs as I described. Any more thoughts on this?
My end goal is to simply have the same OpenSips act as both an
inbound proxy and outbound proxy, with no registration
requirements. If there is an easier way to do this with OpenSips,
please let me know. I've looked around and checked out all the
referenced tutorials on the site w/r/t load balancing and routing
v=0
o=Sonus_UAC 14270 3732 IN IP4 x.x.x.x
s=SIP Media Capabilities
c=IN IP4 67.231.0.110
t=0 0
m=audio 25620 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=maxptime:20
a=oldmediaip:ACTUAL_IP
On Thu, Nov 10, 2011 at 7:17 PM, ddgiants <[email protected]
<mailto:[email protected]>> wrote:
Matt,
Sounds like you may not be topology hiding the 200OKs.
Some/most SIP
devices/SBC's etc will send a BYE to the ip address in the
o(owner) line of
the SDP of the 200OK. Some devices do not and send BYE to the
initator/proxy
they are configured for. The 200OK will have o and c. O is the
owner,
meaning signaling owner and C is the connection IP as in where
to send the
actual RTP. I use the below to change the o portion of the SDP
in 200 OKs
and works for me. Give it a try and let me know.
onreply_route[1] {
setflag(1);
if(t_check_status("200")) {
if(search("Content-type: application/sdp")) {
fix_nated_sdp("8", "x.x.x.x");
}
}
}
DD
--
View this message in context:
http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSips-as-an-inbound-loadbalancer-and-outbound-proxy-issue-with-routing-BYES-tp6984017p6984067.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users