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