[OpenSER-Users] CANCEL generated by openser after SIP/SDP Status: 200 OK
Jan ONDREJ (SAL)
ondrejj at salstar.sk
Thu Sep 13 09:11:46 CEST 2007
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