I suspect that asterisk is not seeing the ACK and BYE as part of the session, since the original INVITE was sent to XXXX@pbx.nexusmgmt.com and all other SIP messages are forwarded to 65.126.236.148.
I have tried to change the forward from the IP to the FQDN, but the invite no longer reaches the internal UA if I do.
Is there a setting to instruct ser to do a lookup on a forward, or is forward limited to IP address?
Bart...
-----Original Message----- From: Dr. Rodney G. McDuff [mailto:mcduff@its.uq.edu.au] Sent: 09 March 2006 00:43 To: Bart J. Smit Subject: Re: [Serusers] SER + Asterisk; BYE gets 404
Hi Bart
Bart J. Smit wrote:
Hi Rodney,
The entire conversation is in UDP. I've attached the SIP packets from the ethereal trace.
Firstly it seems that the ACKs from SJPhone in response to the 200 OK from your asterisk box arn't getting thru to the asterisk box. Thats why the asterisk box continues to send the 200 OKs. Eventually the SJPhone send a BYE (is that you or a timeout?). What is strange is the SER box authored the 404 Not found response.
If the SER and asterisk is on the same box can you run ethereal this box and can change the capture filter to get the both sides of the conversation. Maybe something like 'port 5060 or port 5065'. Also what is 80.176.149.91?
Bart...
-----Original Message----- From: Dr. Rodney G. McDuff [mailto:mcduff@its.uq.edu.au] Sent: 07 March 2006 23:38 To: Bart J. Smit; serusers@lists.iptel.org Subject: Re: [Serusers] SER + Asterisk; BYE gets 404
Hi Bart Have you got the SER box doing any (TCP/UDP) protocol conversion. Ie is your phone using TCP (as * only does UDP).
Bart J. Smit wrote:
I am running ser 0.9.6 on CentOS 4.2 with asterisk on the same box listening on 5065.
When I register a phone with ser, I can call XXXX@pbx.nexusmgmt.com
and
these calls are forwarded to the asterisk on a forward(<external IP>,5065). I've attached my full routing block below.
After hanging up from either phone, the BYE packet never gets
delivered.
It shows up in ethereal as being addressed to the external IP address
of
the box and it gets a 404 in reply.
When I register a phone directly with the Asterisk, I can hang up
from
either end as normal, so the issue must be with ser.
Any hints on how I can route the BYE packets correctly?
Thanks,
Bart...
route {
#
# Sanity Check Section
#
if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); break; };
if (msg:len > max_len) { sl_send_reply("513", "Message Overflow"); break; };
#
# Record Route Section
#
if (method!="REGISTER") { record_route(); };
#
# Loose Route Section
#
if (loose_route()) { t_relay(); break; };
#
# Call Type Processing Section
#
if (uri=~"sip:[0-9]{4}@pbx.nexusmgmt.com") { forward(65.126.236.148,5065); break; }; if (uri!=myself) { route(1); break; };
if (method=="CANCEL") { route(1); break; } else if (method=="INVITE") { route(3); break; } else if (method=="REGISTER") { route(2); break; };
lookup("aliases"); if (uri!=myself) { route(1); break; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); break; };
route(1); }
route[1] {
#
# Default Message Handler
#
t_on_reply("1");
if (!t_relay()) { sl_reply_error(); }; }
route[2] {
#
# REGISTER Message Handler
#
sl_send_reply("100", "Trying");
if (!www_authorize("","subscriber")) { www_challenge("","0"); break; };
if (!check_to()) { sl_send_reply("401", "Unauthorized"); break; };
consume_credentials();
if (!save("location")) { sl_reply_error(); }; }
route[3] {
#
# INVITE Message Handler
#
if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); log(1,"authenticate please\n"); break; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); break; };
lookup("aliases"); if (uri!=myself) { route(1); break; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); break; };
route(1); }
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers