Jeremy,
I don't know if you got this answered already or not - I'm not seeing
the subject popping back up...
My PBX Gateway was doing the same kind of thing: calls were timing out
after about 1 minute (45 seconds once, and 60 seconds another time). It
turns out that the loose-route processing wasn't working right. If I
put the:
if (loose_route()) {
if (!t_relay()) {
sl_reply_error();
};
break;
};
Line after the registration and "if (uri==myself){stuff}; blocks, then
I'd time out. If the Loose_route() processing was up earlier, near the
top of the ser.cfg (like in the demo), then my PBX Gateway wouldn't time
the calls out.
Rob
0 ASCII Ribbon campaign - against HTML Email
^ - against auto-execute attachments
-----Original Message-----
From: serusers-bounces(a)lists.iptel.org
[mailto:serusers-bounces@lists.iptel.org] On Behalf Of Jeremy M. Dolan
Sent: Thursday, October 07, 2004 11:54 AM
To: serusers(a)lists.iptel.org
Subject: [Serusers] Who is violating SIP protocol here, SER
or voice-ISP?
I will attach a full SIP conversation to this e-mail, but
here is the summary of what seems to be happening.
I place a call from my phone here, behind NAT. This contacts
a SER server with nathelper/rtpproxy out on the 'net, which
then forwards the requests to Masergy (
www.masergy.com), who
provide us with LD VoIP service. Everything proceeds fine
until the "OK" reply from Masergy signalling the call has
been answered. Here's the transaction there:
Masergy port 29436 -> SER port 5060 "OK"
SER port 5060 -> My Phone port 5060 "OK"
My Phone port 5060 -> SER port 5060 "ACK"
SER port 5060 -> Masergy port 29436 "ACK"
Masergy never receives that last packet.
However, my phone receives all of the information it needs to
establish the RTP connection. It does so, and the call
appears to be working fine.
Meanwhile, Masergy's SIP server continues to resend "SIP/2.0 200 OK"
messages (still from port 29436) every few seconds, waiting
for a reply.
After ~35 seconds of not hearing back, it assumes the worst
and sends a "BYE", tearing down a call that was going swell,
as far as the two humans involved were concerned.
I've spoken with the relevant tech at Masergy, and their
determination is that our SIP proxy should be sending all SIP
traffic to port 5060, regardless of what they may be
transmitting from.
I just built the very latest CVS version of SER
(0.8.99-dev8), and am seeing the same behavior. Is this a
protocol violation on either side?
(Transmitting to a non-5060 port, or not listening for a
reply on a port that was just transmitted from). Is there a
way to force SER to always use 5060? (Which itself probably
breaks protocol for some cases, which we aren't currently
dealing with).
Thank you for any info.
Jeremy
--
Jeremy M. Dolan <mailto:jmd@pobox.com> <http://jmd.us/>
PGP: 1024D/3C68A1BA 9470 210C A476 FFBB 6D11 0223 0D1C ABFC 3C68 A1BA