[OpenSIPS-Users] Opensips do not route ACK to Asterisk

Anca Vamanu anca at opensips.org
Thu Nov 18 11:35:31 CET 2010


Hi,

You might be in this case:

	# ACK without matching transaction ->
	# ignore and discard
	exit;

I suggest you to put a log there and print the callid and if that 
message appear search in the log for the corresponding messages - 
INVITE, 200OK and ACK and send them here to see if actually there is a 
problem with the ACK.

Regards,

-- 
Anca Vamanu
www.voice-system.ro



On 11/17/2010 10:52 AM, t0mmy wrote:
> Dear all,
>
> i'm having scenario where opensips 1.6.3 and asterisk is on the same host.
> Opensips binds on port 5060 and asterisk on 5061.
>
> Opensips handles user registration, nat traversal  and "redirect" callls to
> Asterisk PBX (configured as pstn gateway in address table and there is no
> 407 proxy auth req so they trust each other :))  . Asterisk then via sip
> trunk send calls to our  provider.
>
>   Rtp proxy for nat traversal also running on same machine started and
> opensips do not report any errors.   ( started like  rtpproxy -l
> public_ip_opensips_and* -s udp:127.0.0.1:7890 -F -u rtpproxy). RTP proxy use
> default udp range 10000-35000 and asterisk use 36000-65534 range.
>
>
> UA is X-lite and behind nat.
> Calls are getting connected but they drop after 30 sec. X-lite recive 200 ok
> from * and sends back ACK. But ACK not getting to Asterisk. Asterisk reports
> retransmit timeout error.
>
>
>
>   I'm think that problem is like they say in sip-retransmit file
>
>
> - A SIP middlebox (SBC) that rewrites contact: headers
>    so that we can't reach the other side with our reply
>    or the ACK.
> - A badly configured SIP proxy that forgets to add
>    record-route headers to make sure that signalling works.
>
> When X-lite is in lan where is opensips error do not exists.  Calls are
> working perfect!
>
>
> Here is 200 ok that asterisk keep retransmiting:
>
> ^[[0KRetransmitting #2 (no NAT) to 192.168.1.42:5060:
> SIP/2.0 200 OK
> v: SIP/2.0/UDP
> 192.168.1.42;branch=z9hG4bKe31e.f8aa9df6.0;received=192.168.1.42
> v: SIP/2.0/UDP
> PUBLIC_IP_OF_UA:59788;rport=59788;received=PUBLIC_IP_OF_UA;branch=z9hG4bK-d8754z-c754d54c1f044c74-1---d8754z-
> Record-Route:<sip:192.168.1.42;lr=on>
> f: "tommy2"<sip:6557181066 at PUBLIC_IP_OF_OPENSIPS_AND*>;tag=740b0d14
> t: "7890100"<sip:7890100 at 8PUBLIC_IP_OF_OPENSIPS_AND*>;tag=as57556733
> i: YjNjZThlNjljMjk2ODE5MmU1NDNiNTJhMTY5ZDg2MWQ.
> CSeq: 2 INVITE
> Server: Asterisk PBX
> ^[[0Kllow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY,
> INFO, PUBLISH
> k: replaces, timer
> m:<sip:7890100 at 192.168.1.42:5061>
> c: application/sdp
> l: 261
>
> In opensips.cfg file i have this 2 section that involves ACK:
>
> if ( is_method("ACK") ) {
> 				
>
> 					if ( t_check_trans() ) {
> 					# non loose-route, but stateful ACK; must be an ACK after
> 					# a 487 or e.g. 404 from upstream server
> 					t_relay();
> 					exit;
> 				} else {
> 					# ACK without matching transaction ->
> 					# ignore and discard
> 					exit;
> 				}
> 			}
> 			sl_send_reply("404","Not here");
> 		}
> 		exit;
> 	}
>
> and :
>
>
> # preloaded route checking
> 	if (loose_route()) {
> 		xlog("L_ERR",
> 		"Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]");
> 		if (!is_method("ACK"))
> 			sl_send_reply("403","Preload Route denied");
> 		append_hf("P-hint: rr-enforced\r\n");
> 		route(1);
> 	}
>
>
> i'm sending calls this way :
>
>
> route[4] {
>    #---- PSTN route ----#
>    rewritehostport("192.168.1.42:5061");
> 	route(1);
> 	exit;
> }
>
>
>
>   I hope there is solution for this and what to thanks in advanced anyone who
> try to help .
> Please help!!!!
>
> Cheers
>
> T0mmy
>    



More information about the Users mailing list