[Serusers] SER + Asterisk; BYE gets 404

Bart J. Smit bart at smits.co.uk
Thu Mar 9 16:14:43 CET 2006


I suspect that asterisk is not seeing the ACK and BYE as part of the
session, since the original INVITE was sent to XXXX at 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 at 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 at its.uq.edu.au] 
> Sent: 07 March 2006 23:38
> To: Bart J. Smit; serusers at 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 at 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 at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>   
>>     
>
>
>   


-- 
Dr. Rodney G. McDuff                 |Ex ignorantia ad sapientiam
Manager, Strategic Technologies Group|    Ex luce ad tenebras
Information Technology Services      |
The University of Queensland         |
EMAIL: mcduff at its.uq.edu.au          |
TELEPHONE: +61 7 3365 8220           | 





More information about the sr-users mailing list