Hi all,
I've added advertised_address="203.31.111.19" to my config which has corrected
the Via header but it hasn't corrected my problem.
I also have added
record_route_preset("203.31.111.19");
when it gets an INVITE and this has helped but not fixed the problem. With it
in place and using the following code:
if ( ! t_check_trans() ) {
xlog("ERROR: NOT in a transaction:\n");
xlog("$mb");
}
When the remote party hangs up first I get lots of these until the ITSP gives
up:
ERROR: NOT in a transaction:
BYE sip:[email protected]:5060;x-sipX-nonat SIP/2.0
Via: SIP/2.0/UDP
202.85.243.105:5060;branch=z9hG4bK-d8754z-6bb3100741714e15-1---d8754z-;rport
Via: SIP/2.0/UDP 202.85.243.105:5072;rport=5072;branch=z9hG4bK-pjbredljvrzl3poi
Max-Forwards: 69
Route: <sip:203.31.111.19;lr;ftag2c4cf9fc77f3c062o0>
Route:
<sip:192.168.52.31:5060;lr;sipXecs-CallDestLD;sipXecs-rs%2Aauth%7E.%2Afrom%7EMmM0Y2Y5ZmM3N2YzYzA2Mm8w.900_ntap%2Aid%7EMTAzNDAtNTQ1%21983392f1a7d0a0b6b8db8e7faf804b07>
Contact: "Anonymous"<sip:202.85.243.105:5072>
To: "Andrew Radke"<sip:[email protected]>;tag=2c4cf9fc77f3c062o0
From: <sip:[email protected]>;tag=lobq7uinzugnfuvq.i
Call-ID: [email protected]
CSeq: 849 BYE
User-Agent: Sippy
h323-conf-id: 394797210-1035080161-2573706426-3679368262
cisco-GUID: 394797210-1035080161-2573706426-3679368262
Content-Length: 0
So it seems that opensips has lost track of the transaction at this point and
doesn't know where to send this on to.
Regards,
Andrew Radke
On 13/01/2012, at 1:40 PM, Andrew Radke wrote:
> Hi all,
>
> I think I have this all quite good now. I do have the issue though that when
> the remote party hangs up a call we aren't sent the BYE. I'm guessing this is
> something to do with either the Record-Route or a Via header.
>
> I don't think it's the Via because the responses from our ITSP come back with
> something like this for the opensips line:
> Via: SIP/2.0/UDP
> 192.168.52.1;branch=z9hG4bKcd53.5599c4a7.0;received=203.31.111.19;rport=5060
> indicating that they are dealing with it. And I've tried changing the Via
> header for opensips with this code but I think it is created late in the
> process as it is never triggered:
> if ( search("Via: SIP/2\.0/UDP 192\.168\.52\.1;") ) {
> xlog("Correcting router's Via header...\n");
> replace_all("Via: SIP/2\.0/UDP 192\.168\.52\.1;", "Via:
> SIP/2.0/UDP 203.31.111.19;")
> }
>
> If I try to use record_route() it breaks everything as then opensips seems to
> loose track of the session and doesn't even respond to the ACKs when the
> session is created and then our ITSP hangs up 30 seconds later.
>
> So again, any pointers greatly appreciated. And here is our config file as it
> currently stands:
>
> debug=3
> log_stderror=no
> log_facility=LOG_LOCAL0
>
> fork=yes
> children=4
>
> /* uncomment the following lines to enable debugging */
> #debug=6
> fork=no
> log_stderror=yes
>
> disable_tcp=yes
>
> #disable_dns_blacklist=no
> #dns_try_ipv6=yes
> auto_aliases=no
>
>
> port=5060
> listen=udp:192.168.52.1:5060
>
>
> ####### Modules Section ########
>
> #set module path
> mpath="/usr/lib/opensips/modules/"
>
> loadmodule "rr.so"
> loadmodule "tm.so"
> loadmodule "uac.so"
> loadmodule "xlog.so"
> loadmodule "textops.so"
>
>
> # ----------------- setting module-specific parameters ---------------
>
>
> # ----- uac params -----
>
> modparam("uac", "credential", "<userid>:sip.pennytel.com:<password>")
> modparam("uac","from_restore_mode","none")
>
>
>
> ####### Routing Logic ########
>
> # main request routing logic
>
> route{
> t_on_failure("1");
> if ( is_method("INVITE") ) {
> xlog("$fU ($fn) Calling $oU\n");
> #record_route();
> }
> if ( search("Via: SIP/2\.0/UDP 192\.168\.52\.1;") ) {
> xlog("Correcting router's Via header...\n");
> replace_all("Via: SIP/2\.0/UDP 192\.168\.52\.1;", "Via:
> SIP/2.0/UDP 203.31.111.19;")
> }
>
>
> if ( has_body("application/sdp") ) {
> if ( search_body("a=rtpmap:. PCM.\/.*\n") ) {
> xlog("Removing g711 codecs...\n");
> replace_body_all("a=rtpmap:. PCM.\/.*\n", "");
> }
> if ( search_body("192\.168\.52\..*") ) {
> xlog("Correcting RTP IP address...\n");
> replace_body_all("192\.168\.52\..*", "203.31.111.19");
> }
> }
>
> if ( uri=~"sip:[email protected]" ) {
> rewritehost("sip.pennytel.com");
> #remove_credentials();
> remove_hf("Proxy-Authorization");
> remove_hf("User-Agent");
>
> uac_replace_from("Yuruga
> Nursery","sip:[email protected]");
> t_relay("udp:sip.pennytel.com:5060");
> };
>
> route(1);
> }
>
>
> route[1] {
> exit;
> }
>
> failure_route[1] {
> if (t_check_status("40[17]")) {
> xlog("Authentication requested\n");
> if (uac_auth()) {
> xlog("Authentication successfull\n");
> t_relay("udp:sip.pennytel.com:5060");
> }
> }
> }
>
>
> Regards,
> Andrew Radke
> _______________________________________________
> 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