[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