Hi, just a few questions regarding the path implementation (if someone cares to answer, taht is ;-)) I've read through the RFC3327 (I hope)
If I have a scenario: UAC->OBP->Registrar (th OB is a dispatcher) In the current version, should I append_hf both: Supported: path and a Path: sip:[OBP];lr
to make it work? I tried. I get a P-Registrar-Error: Path parse error
and in my log: ERROR: build_path_vector(): First Path URI is not a loose-router, not supported
I guess I might have a configuration error, but do not really know.
br hw
Helge Waastad wrote:
and in my log: ERROR: build_path_vector(): First Path URI is not a loose-router, not supported
I guess I might have a configuration error, but do not really know.
Uhm, well, I think that's the result of a last-minute optimization before I submitted the path. I'll check that again.
Andy
Andreas Granig wrote:
I guess I might have a configuration error, but do not really know.
Uhm, well, I think that's the result of a last-minute optimization before I submitted the path. I'll check that again.
Ok, it's fixed in CVS. A detailed description about the new Path feature will follow the next days...
Andy
Hi, and superb reaction!
I'm waiting for sf to sync :-)
br hw
fre, 27,.01.2006 kl. 14.17 +0100, skrev Andreas Granig:
Andreas Granig wrote:
I guess I might have a configuration error, but do not really know.
Uhm, well, I think that's the result of a last-minute optimization before I submitted the path. I'll check that again.
Ok, it's fixed in CVS. A detailed description about the new Path feature will follow the next days...
Andy
Hi, now I got location stored, but get the respose invalid Cseq number.
I have to leave now, but I'll see if there is any logs I can browse tomorrow.
br hw
fre, 27,.01.2006 kl. 14.17 +0100, skrev Andreas Granig:
Andreas Granig wrote:
I guess I might have a configuration error, but do not really know.
Uhm, well, I think that's the result of a last-minute optimization before I submitted the path. I'll check that again.
Ok, it's fixed in CVS. A detailed description about the new Path feature will follow the next days...
Andy
Helge Waastad wrote:
now I got location stored, but get the respose invalid Cseq number.
That's unrelated to the Path stuff.
From rfc-3261: #+ CSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented for each new request within a dialog and is a traditional sequence number. #-
So if the call-id of the new REGISTER is the same as of a previously stored contact, cseq has to be incremented.
Andy
Hi, call-id is the same and the CSeq is incremented (according to 3621). save("location") updates the database, but no 200 OK is returned to the UAC....
br hw
fre, 27,.01.2006 kl. 20.11 +0100, skrev Andreas Granig:
Helge Waastad wrote:
now I got location stored, but get the respose invalid Cseq number.
That's unrelated to the Path stuff.
From rfc-3261: #+ CSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented for each new request within a dialog and is a traditional sequence number. #-
So if the call-id of the new REGISTER is the same as of a previously stored contact, cseq has to be incremented.
Andy
Hi Helge,
if I get it right, you are saying that re-register attempt leads to the "invalid Cseq" error and no reply from the openser?
regards, Bogdan
Helge Waastad wrote:
Hi, call-id is the same and the CSeq is incremented (according to 3621). save("location") updates the database, but no 200 OK is returned to the UAC....
br hw
fre, 27,.01.2006 kl. 20.11 +0100, skrev Andreas Granig:
Helge Waastad wrote:
now I got location stored, but get the respose invalid Cseq number.
That's unrelated to the Path stuff.
From rfc-3261: #+ CSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented for each new request within a dialog and is a traditional sequence number. #-
So if the call-id of the new REGISTER is the same as of a previously stored contact, cseq has to be incremented.
Andy
Hi, this is what happens:
The UAC sends REGISTER, gets a 401 back and sends a new REGISTER (Cseq +1). OpenSER does save("location") but no 200 OK is sent back to the UAC... I see in yhe SQL database, tha the location is updated including the path info.
Since the UAC does not get a reply back, it sends another REGISTER, to which I guess OpenSER sends 400 Bad request and P-Registrar-Error: Invalid CSeq number
I guess the save function is not working as it should (?).
I do a:
if (!save("location")){ xlog(errormessage) } else{ xlog(ok message) }
I do not see either error or OK messages in my logs.
br hw
man, 30,.01.2006 kl. 17.50 +0200, skrev Bogdan-Andrei Iancu:
Hi Helge,
if I get it right, you are saying that re-register attempt leads to the "invalid Cseq" error and no reply from the openser?
regards, Bogdan
Helge Waastad wrote:
Hi, call-id is the same and the CSeq is incremented (according to 3621). save("location") updates the database, but no 200 OK is returned to the UAC....
br hw
fre, 27,.01.2006 kl. 20.11 +0100, skrev Andreas Granig:
Helge Waastad wrote:
now I got location stored, but get the respose invalid Cseq number.
That's unrelated to the Path stuff.
From rfc-3261: #+ CSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented for each new request within a dialog and is a traditional sequence number. #-
So if the call-id of the new REGISTER is the same as of a previously stored contact, cseq has to be incremented.
Andy
Hi,
save() function may break the script execution (by returning zero) if some error occurred. This may be an explanation for the missing xlogs.
do you have any error messages in the logs ?
regards, bogdan
Helge Waastad wrote:
Hi, this is what happens:
The UAC sends REGISTER, gets a 401 back and sends a new REGISTER (Cseq +1). OpenSER does save("location") but no 200 OK is sent back to the UAC... I see in yhe SQL database, tha the location is updated including the path info.
Since the UAC does not get a reply back, it sends another REGISTER, to which I guess OpenSER sends 400 Bad request and P-Registrar-Error: Invalid CSeq number
I guess the save function is not working as it should (?).
I do a:
if (!save("location")){ xlog(errormessage) } else{ xlog(ok message) }
I do not see either error or OK messages in my logs.
br hw
man, 30,.01.2006 kl. 17.50 +0200, skrev Bogdan-Andrei Iancu:
Hi Helge,
if I get it right, you are saying that re-register attempt leads to the "invalid Cseq" error and no reply from the openser?
regards, Bogdan
Helge Waastad wrote:
Hi, call-id is the same and the CSeq is incremented (according to 3621). save("location") updates the database, but no 200 OK is returned to the UAC....
br hw
fre, 27,.01.2006 kl. 20.11 +0100, skrev Andreas Granig:
Helge Waastad wrote:
now I got location stored, but get the respose invalid Cseq number.
That's unrelated to the Path stuff.
From rfc-3261: #+ CSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented for each new request within a dialog and is a traditional sequence number. #-
So if the call-id of the new REGISTER is the same as of a previously stored contact, cseq has to be incremented.
Andy
Hi again,and you are right. the script is breaking out from the main route.
All I see is:
ERROR:usrloc:update_contacts: invalid cseq
And it seem like this error message is due to the third REGISTER (which has the same CSeq as the second REGISTER)
br hw
PS, If you need any more debugs, I'll provide you with everything you need.....
man, 30,.01.2006 kl. 19.54 +0200, skrev Bogdan-Andrei Iancu:
Hi,
save() function may break the script execution (by returning zero) if some error occurred. This may be an explanation for the missing xlogs.
do you have any error messages in the logs ?
regards, bogdan
Helge Waastad wrote:
Hi, this is what happens:
The UAC sends REGISTER, gets a 401 back and sends a new REGISTER (Cseq +1). OpenSER does save("location") but no 200 OK is sent back to the UAC... I see in yhe SQL database, tha the location is updated including the path info.
Since the UAC does not get a reply back, it sends another REGISTER, to which I guess OpenSER sends 400 Bad request and P-Registrar-Error: Invalid CSeq number
I guess the save function is not working as it should (?).
I do a:
if (!save("location")){ xlog(errormessage) } else{ xlog(ok message) }
I do not see either error or OK messages in my logs.
br hw
man, 30,.01.2006 kl. 17.50 +0200, skrev Bogdan-Andrei Iancu:
Hi Helge,
if I get it right, you are saying that re-register attempt leads to the "invalid Cseq" error and no reply from the openser?
regards, Bogdan
Helge Waastad wrote:
Hi, call-id is the same and the CSeq is incremented (according to 3621). save("location") updates the database, but no 200 OK is returned to the UAC....
br hw
fre, 27,.01.2006 kl. 20.11 +0100, skrev Andreas Granig:
Helge Waastad wrote:
now I got location stored, but get the respose invalid Cseq number.
That's unrelated to the Path stuff.
From rfc-3261: #+ CSeq or Command Sequence contains an integer and a method name. The CSeq number is incremented for each new request within a dialog and is a traditional sequence number. #-
So if the call-id of the new REGISTER is the same as of a previously stored contact, cseq has to be incremented.
Andy
Helge Waastad wrote:
Hi again,and you are right. the script is breaking out from the main route.
All I see is:
ERROR:usrloc:update_contacts: invalid cseq
And it seem like this error message is due to the third REGISTER (which has the same CSeq as the second REGISTER)
Can you please provide a network dump of this transaction (using tethereal or ngrep)?
Andy
Hi, here's a tethereal -R "sip" from the REGISTER transaction.
br hw
man, 30,.01.2006 kl. 20.16 +0100, skrev Andreas Granig:
Helge Waastad wrote:
Hi again,and you are right. the script is breaking out from the main route.
All I see is:
ERROR:usrloc:update_contacts: invalid cseq
And it seem like this error message is due to the third REGISTER (which has the same CSeq as the second REGISTER)
Can you please provide a network dump of this transaction (using tethereal or ngrep)?
Andy
Hi, and looking better :-)
However, another problem accured.
I see in my logs after an INVITE:
set_dst_uri: Not enough memory lookup(): Failed to set dst_uri of Path
br hw
man, 30,.01.2006 kl. 22.09 +0100, skrev Andreas Granig:
Helge Waastad wrote:
here's a tethereal -R "sip" from the REGISTER transaction.
Thanks, indeed another bug. Fixed.
Cheers, Andy