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:6557181...@public_ip_of_opensips_and*>;tag=740b0d14
t: "7890100"<sip:7890...@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:7890...@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
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users