[OpenSER-Users] CANCEL generated by openser after SIP/SDP Status: 200 OK

Klaus Darilion klaus.mailinglists at pernau.at
Thu Sep 13 15:19:53 CEST 2007


Hi!

I think if the ENUM module finds 2 NAPTRs with same order/preference it 
automatically creates 2 branches. What ENUM number is it?

Jan ONDREJ (SAL) schrieb:
> Hello,
> 
> On Wed, Sep 12, 2007 at 05:32:15PM +0200, Klaus Darilion wrote:
>> 1. I have forgotten to tell you to use the "-W byline" switch too in
>> ngrep (much more readable SIP logs)
> 
> I can resend you new logs if needed.
> 
>> 2. Nevertheless, I have found the error: In the openser proxy your 
>> create a second branch: Take a look at the logs - there are 2 INVITEs 
>> sent from openser to ser - the only different in these INVITEs is the 
>> branch parameter in the topmost Via header.
>>
>> The first is:
>> branch=z9hG4bK41a.25464943.0
>> the second is:
>> branch=z9hG4bK41a.25464943.1
>>
>> Thus, openser does parallel forking. Then, when Grandstream answers the 
>> second branch (branch=z9hG4bK41a.25464943.1) openser will CANCEL the 
>> first branch.
> 
> Right. There is no problem with CANCEL but with 2 INVITEs.
> 
> I have this in my openser log:
> 
>  2(13970) DEBUG: t_lookup_request: no transaction found
>  2(13970) DBG: trans=0xb60d6e80, callback type 1, id 1 entered
>  2(13970) DEBUG:dialog:build_new_dlg: new dialog on hash 2386
>  2(13970) DBG: trans=0xb60d6e80, callback type 1, id 0 entered
> 
> Is this a right place where the second fork is done?
> 
>> Thus, you have either bug in your config or in your provisioning (maybe 
>> you have the user twice in alias table or location table).
> 
> Which command can create this second INVITE? What I need to find in my
> config?
> 
> This user is not local, it is found by ENUM. My ENUM configuration:
>         if (uri=~"^sip:\+[0-9]+@") {
>              if (enum_query("e164.arpa.")) {
>                 xlog("L_ERR", "ENUM[e164.arpa]: [$rm] from user $fu to $ru\n");
>                 route(5);
>                 return;  
>              };
>              if (enum_query("e164.arpa.", "voice")) {
>                 route(5);
>                 return;  
>              };
>              if (enum_query("e164.bts.sk.")) {
>                 route(5);
>                 return;  
>              };
>         };
> 
> 
> Thanks.
> 
> 		SAL




More information about the Users mailing list