Bugs item #2911707, was opened at 2009-12-10 00:11
Message generated for change (Comment added) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Asgaroth (asgaroth000)
Assigned to: Nobody/Anonymous (nobody)
Summary: usrloc stores username in lowercase in "location" table
Initial Comment:
I am trying to integrate Kamailio (1.5.3-notls) into our existing
database structure using a view for the subscriber table and using the
location table to store the registration information.
I am successfully able to register a phone using this method.
One of our requirements is to set an "outboundproxy" and
"outboundproxyport" parameter in the location table for a particular sip
account (username). I am trying to do this with the sqlops module.
What I have come across though is that when the registration information
is saved to the location table the username is stored in lower case. So
when my sqlops query is run against the username it does not match.
For example, in the subscriber table I have view defined that for my
user account returns the following information:
-------------
select * from subscriber where username = 'BruceNW9440';
username | domain | password | ha1
| ha1b
-------------+---------------+------------+----------------------------------+----------------------------------
BruceNW9440 | 10.10.10.10 | 00minger00 |
1f2d688f65be04a61cab36a1fb3f426a | 6529d45f5c418daf35be7b3dd4a858cb
(1 row)
-------------
Now, if I check the above against the location table:
--------------
select * from location where username = 'BruceNW9440';
0 rows returned
--------------
If I run the same query using "brucenw9440" as the username (lowercase)
then the correct information is returned.
I have the following log line in my kamailio configuration script:
xlog("L_INFO","Username: $au, OutboundProxy: $Ri, OutboundProxyPort: $Rp");
The details of this log appear correct when it is logged:
Dec 9 14:21:03 ibis /opt/kamailio/sbin/kamailio[16972]: [ID 197553
local0.info] Username: BruceNW9440, OutboundProxy: 10.10.10.10,
OutboundProxyPort: 5060
However, when my sqlopt query is run it does not find a match because of
the incorrect case:
sql_query("bfl", "UPDATE location SET outboundproxy = '$Ri',
outboundproxyport = '$Rp' WHERE username = '$au'", "res");
I've had a read through the usrloc module documentation and I cannot
seem to find a reference to any options that will preserve the case. I
also cannot find if there is a parameter to save('location') that will
preserve the case. I cant seem to find a reference to the save()
function on the wiki. I must be missing something small.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2009-12-10 09:03
Message:
There is a parameter to control case sensitivity:
http://kamailio.org/docs/modules/1.5.x/registrar.html#id2491689
----------------------------------------------------------------------
Comment By: Henning Westerholt (henningw)
Date: 2009-12-10 08:54
Message:
I can confirm that usrloc stores the name in lowercase, even if its in
upper case in the subscriber table. This is probably a bug.
For the other thing, the reported case sensitivity in the query against
the location table, this is defined from the database that is used. So if
you would e.g. switch to mysql, all your queries would be case insensitive.
So i changed the bug title to be mirror this.
----------------------------------------------------------------------
Comment By: Asgaroth (asgaroth000)
Date: 2009-12-10 00:38
Message:
Just for further information, here is the logic in the main route of the
kamailio script that is causing the problem, I thought I would add it in so
you can see where I am trying to execute the update. The actual
authentication is processed prior to this section.
if (is_method("REGISTER"))
{
if (!save("location")) {
sl_reply_error();
} else {
xlog("L_INFO","Username: $au, FromUser: $fu,
OutboundProxy: $Ri, OutboundProxyPort: $Rp");
sql_query("bfl", "UPDATE location SET outboundproxy =
'$Ri', outboundproxyport = '$Rp' WHERE username = '$au'", "res");
}
exit;
}
----------------------------------------------------------------------
Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-12-10 00:19
Message:
According to RFC 3261 BNF grammar, the username part of a SIP URI is case
sensitive, this is:
sip:alice@domain.org != sip:Alice@domain.org
but domain part is case insensitive so:
sip:alice@domain.org == sip:alice@DOMain.ORG
So if 'usrloc' forces lowcase that's not correct (IMHO).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Bugs item #2911707, was opened at 2009-12-10 00:11
Message generated for change (Comment added) made by henningw
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Asgaroth (asgaroth000)
Assigned to: Nobody/Anonymous (nobody)
>Summary: usrloc stores username in lowercase in "location" table
Initial Comment:
I am trying to integrate Kamailio (1.5.3-notls) into our existing
database structure using a view for the subscriber table and using the
location table to store the registration information.
I am successfully able to register a phone using this method.
One of our requirements is to set an "outboundproxy" and
"outboundproxyport" parameter in the location table for a particular sip
account (username). I am trying to do this with the sqlops module.
What I have come across though is that when the registration information
is saved to the location table the username is stored in lower case. So
when my sqlops query is run against the username it does not match.
For example, in the subscriber table I have view defined that for my
user account returns the following information:
-------------
select * from subscriber where username = 'BruceNW9440';
username | domain | password | ha1
| ha1b
-------------+---------------+------------+----------------------------------+----------------------------------
BruceNW9440 | 10.10.10.10 | 00minger00 |
1f2d688f65be04a61cab36a1fb3f426a | 6529d45f5c418daf35be7b3dd4a858cb
(1 row)
-------------
Now, if I check the above against the location table:
--------------
select * from location where username = 'BruceNW9440';
0 rows returned
--------------
If I run the same query using "brucenw9440" as the username (lowercase)
then the correct information is returned.
I have the following log line in my kamailio configuration script:
xlog("L_INFO","Username: $au, OutboundProxy: $Ri, OutboundProxyPort: $Rp");
The details of this log appear correct when it is logged:
Dec 9 14:21:03 ibis /opt/kamailio/sbin/kamailio[16972]: [ID 197553
local0.info] Username: BruceNW9440, OutboundProxy: 10.10.10.10,
OutboundProxyPort: 5060
However, when my sqlopt query is run it does not find a match because of
the incorrect case:
sql_query("bfl", "UPDATE location SET outboundproxy = '$Ri',
outboundproxyport = '$Rp' WHERE username = '$au'", "res");
I've had a read through the usrloc module documentation and I cannot
seem to find a reference to any options that will preserve the case. I
also cannot find if there is a parameter to save('location') that will
preserve the case. I cant seem to find a reference to the save()
function on the wiki. I must be missing something small.
----------------------------------------------------------------------
>Comment By: Henning Westerholt (henningw)
Date: 2009-12-10 08:54
Message:
I can confirm that usrloc stores the name in lowercase, even if its in
upper case in the subscriber table. This is probably a bug.
For the other thing, the reported case sensitivity in the query against
the location table, this is defined from the database that is used. So if
you would e.g. switch to mysql, all your queries would be case insensitive.
So i changed the bug title to be mirror this.
----------------------------------------------------------------------
Comment By: Asgaroth (asgaroth000)
Date: 2009-12-10 00:38
Message:
Just for further information, here is the logic in the main route of the
kamailio script that is causing the problem, I thought I would add it in so
you can see where I am trying to execute the update. The actual
authentication is processed prior to this section.
if (is_method("REGISTER"))
{
if (!save("location")) {
sl_reply_error();
} else {
xlog("L_INFO","Username: $au, FromUser: $fu,
OutboundProxy: $Ri, OutboundProxyPort: $Rp");
sql_query("bfl", "UPDATE location SET outboundproxy =
'$Ri', outboundproxyport = '$Rp' WHERE username = '$au'", "res");
}
exit;
}
----------------------------------------------------------------------
Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-12-10 00:19
Message:
According to RFC 3261 BNF grammar, the username part of a SIP URI is case
sensitive, this is:
sip:alice@domain.org != sip:Alice@domain.org
but domain part is case insensitive so:
sip:alice@domain.org == sip:alice@DOMain.ORG
So if 'usrloc' forces lowcase that's not correct (IMHO).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Bugs item #2911707, was opened at 2009-12-10 00:11
Message generated for change (Comment added) made by asgaroth000
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Asgaroth (asgaroth000)
Assigned to: Nobody/Anonymous (nobody)
Summary: Case sensitivity in usrloc "location" table
Initial Comment:
I am trying to integrate Kamailio (1.5.3-notls) into our existing
database structure using a view for the subscriber table and using the
location table to store the registration information.
I am successfully able to register a phone using this method.
One of our requirements is to set an "outboundproxy" and
"outboundproxyport" parameter in the location table for a particular sip
account (username). I am trying to do this with the sqlops module.
What I have come across though is that when the registration information
is saved to the location table the username is stored in lower case. So
when my sqlops query is run against the username it does not match.
For example, in the subscriber table I have view defined that for my
user account returns the following information:
-------------
select * from subscriber where username = 'BruceNW9440';
username | domain | password | ha1
| ha1b
-------------+---------------+------------+----------------------------------+----------------------------------
BruceNW9440 | 10.10.10.10 | 00minger00 |
1f2d688f65be04a61cab36a1fb3f426a | 6529d45f5c418daf35be7b3dd4a858cb
(1 row)
-------------
Now, if I check the above against the location table:
--------------
select * from location where username = 'BruceNW9440';
0 rows returned
--------------
If I run the same query using "brucenw9440" as the username (lowercase)
then the correct information is returned.
I have the following log line in my kamailio configuration script:
xlog("L_INFO","Username: $au, OutboundProxy: $Ri, OutboundProxyPort: $Rp");
The details of this log appear correct when it is logged:
Dec 9 14:21:03 ibis /opt/kamailio/sbin/kamailio[16972]: [ID 197553
local0.info] Username: BruceNW9440, OutboundProxy: 10.10.10.10,
OutboundProxyPort: 5060
However, when my sqlopt query is run it does not find a match because of
the incorrect case:
sql_query("bfl", "UPDATE location SET outboundproxy = '$Ri',
outboundproxyport = '$Rp' WHERE username = '$au'", "res");
I've had a read through the usrloc module documentation and I cannot
seem to find a reference to any options that will preserve the case. I
also cannot find if there is a parameter to save('location') that will
preserve the case. I cant seem to find a reference to the save()
function on the wiki. I must be missing something small.
----------------------------------------------------------------------
>Comment By: Asgaroth (asgaroth000)
Date: 2009-12-10 00:38
Message:
Just for further information, here is the logic in the main route of the
kamailio script that is causing the problem, I thought I would add it in so
you can see where I am trying to execute the update. The actual
authentication is processed prior to this section.
if (is_method("REGISTER"))
{
if (!save("location")) {
sl_reply_error();
} else {
xlog("L_INFO","Username: $au, FromUser: $fu,
OutboundProxy: $Ri, OutboundProxyPort: $Rp");
sql_query("bfl", "UPDATE location SET outboundproxy =
'$Ri', outboundproxyport = '$Rp' WHERE username = '$au'", "res");
}
exit;
}
----------------------------------------------------------------------
Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-12-10 00:19
Message:
According to RFC 3261 BNF grammar, the username part of a SIP URI is case
sensitive, this is:
sip:alice@domain.org != sip:Alice@domain.org
but domain part is case insensitive so:
sip:alice@domain.org == sip:alice@DOMain.ORG
So if 'usrloc' forces lowcase that's not correct (IMHO).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Bugs item #2911707, was opened at 2009-12-10 01:11
Message generated for change (Comment added) made by ibc_sf
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Asgaroth (asgaroth000)
Assigned to: Nobody/Anonymous (nobody)
Summary: Case sensitivity in usrloc "location" table
Initial Comment:
I am trying to integrate Kamailio (1.5.3-notls) into our existing
database structure using a view for the subscriber table and using the
location table to store the registration information.
I am successfully able to register a phone using this method.
One of our requirements is to set an "outboundproxy" and
"outboundproxyport" parameter in the location table for a particular sip
account (username). I am trying to do this with the sqlops module.
What I have come across though is that when the registration information
is saved to the location table the username is stored in lower case. So
when my sqlops query is run against the username it does not match.
For example, in the subscriber table I have view defined that for my
user account returns the following information:
-------------
select * from subscriber where username = 'BruceNW9440';
username | domain | password | ha1
| ha1b
-------------+---------------+------------+----------------------------------+----------------------------------
BruceNW9440 | 10.10.10.10 | 00minger00 |
1f2d688f65be04a61cab36a1fb3f426a | 6529d45f5c418daf35be7b3dd4a858cb
(1 row)
-------------
Now, if I check the above against the location table:
--------------
select * from location where username = 'BruceNW9440';
0 rows returned
--------------
If I run the same query using "brucenw9440" as the username (lowercase)
then the correct information is returned.
I have the following log line in my kamailio configuration script:
xlog("L_INFO","Username: $au, OutboundProxy: $Ri, OutboundProxyPort: $Rp");
The details of this log appear correct when it is logged:
Dec 9 14:21:03 ibis /opt/kamailio/sbin/kamailio[16972]: [ID 197553
local0.info] Username: BruceNW9440, OutboundProxy: 10.10.10.10,
OutboundProxyPort: 5060
However, when my sqlopt query is run it does not find a match because of
the incorrect case:
sql_query("bfl", "UPDATE location SET outboundproxy = '$Ri',
outboundproxyport = '$Rp' WHERE username = '$au'", "res");
I've had a read through the usrloc module documentation and I cannot
seem to find a reference to any options that will preserve the case. I
also cannot find if there is a parameter to save('location') that will
preserve the case. I cant seem to find a reference to the save()
function on the wiki. I must be missing something small.
----------------------------------------------------------------------
>Comment By: Iñaki Baz Castillo (ibc_sf)
Date: 2009-12-10 01:19
Message:
According to RFC 3261 BNF grammar, the username part of a SIP URI is case
sensitive, this is:
sip:alice@domain.org != sip:Alice@domain.org
but domain part is case insensitive so:
sip:alice@domain.org == sip:alice@DOMain.ORG
So if 'usrloc' forces lowcase that's not correct (IMHO).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Bugs item #2911707, was opened at 2009-12-10 00:11
Message generated for change (Tracker Item Submitted) made by asgaroth000
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Asgaroth (asgaroth000)
Assigned to: Nobody/Anonymous (nobody)
Summary: Case sensitivity in usrloc "location" table
Initial Comment:
I am trying to integrate Kamailio (1.5.3-notls) into our existing
database structure using a view for the subscriber table and using the
location table to store the registration information.
I am successfully able to register a phone using this method.
One of our requirements is to set an "outboundproxy" and
"outboundproxyport" parameter in the location table for a particular sip
account (username). I am trying to do this with the sqlops module.
What I have come across though is that when the registration information
is saved to the location table the username is stored in lower case. So
when my sqlops query is run against the username it does not match.
For example, in the subscriber table I have view defined that for my
user account returns the following information:
-------------
select * from subscriber where username = 'BruceNW9440';
username | domain | password | ha1
| ha1b
-------------+---------------+------------+----------------------------------+----------------------------------
BruceNW9440 | 10.10.10.10 | 00minger00 |
1f2d688f65be04a61cab36a1fb3f426a | 6529d45f5c418daf35be7b3dd4a858cb
(1 row)
-------------
Now, if I check the above against the location table:
--------------
select * from location where username = 'BruceNW9440';
0 rows returned
--------------
If I run the same query using "brucenw9440" as the username (lowercase)
then the correct information is returned.
I have the following log line in my kamailio configuration script:
xlog("L_INFO","Username: $au, OutboundProxy: $Ri, OutboundProxyPort: $Rp");
The details of this log appear correct when it is logged:
Dec 9 14:21:03 ibis /opt/kamailio/sbin/kamailio[16972]: [ID 197553
local0.info] Username: BruceNW9440, OutboundProxy: 10.10.10.10,
OutboundProxyPort: 5060
However, when my sqlopt query is run it does not find a match because of
the incorrect case:
sql_query("bfl", "UPDATE location SET outboundproxy = '$Ri',
outboundproxyport = '$Rp' WHERE username = '$au'", "res");
I've had a read through the usrloc module documentation and I cannot
seem to find a reference to any options that will preserve the case. I
also cannot find if there is a parameter to save('location') that will
preserve the case. I cant seem to find a reference to the save()
function on the wiki. I must be missing something small.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2911707&group_…
Hello,
if i use append_branch together to divert a call after events like 408 the Dialog modoule seems suddenly to have problems to find the call even in matching mode 2
Dec 8 12:14:12 uplink01 /usr/sbin/kamailio[29001]: DBG:dialog:run_dlg_callbacks: dialog=0xb57d1e38, type=256
Dec 8 12:14:12 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:internal_get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:12 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:internal_get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:12 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:12 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:dlg_onroute: Callid '034b1e34e1000012cb59@csgmc1' not found
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29001]: DBG:dialog:run_dlg_callbacks: dialog=0xb57d1e38, type=256
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29001]: DBG:sst:sst_dialog_response_fwded_CB: Dialog seen REPLY 200 OK
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29001]: DBG:sst:sst_dialog_response_fwded_CB: appending the Session-Expires: header to the 2XX reply. UAC will deal with it.
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29001]: DBG:dialog:run_dlg_callbacks: dialog=0xb57d1e38, type=256
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:internal_get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:internal_get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:14 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:dlg_onroute: Callid '034b1e34e1000012cb59@csgmc1' not found
Dec 8 12:14:15 uplink01 /usr/sbin/kamailio[29004]: DBG:dialog:next_state_dlg: unref dlg 0xb57d1e38 with 1 -> 2
Dec 8 12:14:15 uplink01 /usr/sbin/kamailio[29004]: DBG:dialog:next_state_dlg: dialog 0xb57d1e38 changed from state 3 to state 3, due event 1
Dec 8 12:14:19 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:internal_get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:19 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:internal_get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:19 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:get_dlg: no dialog callid='034b1e34e1000012cb59@csgmc1' found
Dec 8 12:14:19 uplink01 /usr/sbin/kamailio[29000]: DBG:dialog:dlg_onroute: Callid '034b1e34e1000012cb59@csgmc1' not found
Dec 8 12:15:11 uplink01 /usr/sbin/kamailio[29011]: DBG:dialog:internal_mi_print_dlgs: printing 4096 dialogs
uplink01:~# kamctl fifo dlg_list
dialog:: hash=2425:542696298
state:: 3
timestart:: 1260270850
timeout:: 43270
callid:: 034b1e34e1000012cb59@csgmc1
from_uri:: sip:Anonymous@dus.net
from_tag:: 7b94728b
caller_contact:: sip:sipd@62.134.16.100:5060;transport=udp
caller_cseq:: 42
caller_route_set:: <sip:83.125.8.88;lr=on;ftag=7b94728b;did=979.5474de15;vsf=AAAAAHFcXV9BXV9GQHJUNUUcQFRHNC4xNi4xMDA->,<sip:62.134.16.104;lr=on>
caller_bind_addr:: udp:94.228.106.69:5060
to_uri:: sip:da9040322210302510@62.134.16.104
to_tag:: as1441dd9c
callee_contact:: sip:01728595562@83.125.8.82
callee_cseq:: 42
callee_route_set::
callee_bind_addr:: udp:94.228.106.69:5060
any idea what could cause this?
Freundliche Grüße
Mike van Stijn
Schoenland Online GmbH
Technology Operations
Professional System Engineer
Tel. 0221 / 8455-1866
Fax 0221 / 8455-2428
mike.vanstijn(a)schoenland.net
www.schoenland.net
Think before you print.
Gesetzliche Pflichtangaben:
Schoenland Online GmbH, Sitz der Gesellschaft ist Köln, Amtsgericht Köln HRB 59449, WEEE-Reg.-Nr.: DE57403598; Geschäftsführer: Daniel Schoenland, Henning Keil; Zuständige Aufsichtsbehörde: Bundesnetzagentur für Elektrizität, Gas, Telekommunikation, Post und Eisenbahnen Tulpenfeld 4, 53113 Bonn
Wie Sie wissen, können über das Internet versandte E-Mails leicht unter fremden Namen erstellt oder manipuliert werden. Aus diesem Grunde bitten wir um Verständnis dafür, dass wir zu Ihrem und unserem Schutz die rechtliche Verbindlichkeit der vorstehenden Erklärungen und Äußerungen ausschließen, soweit wir mit Ihnen keine anders lautenden Vereinbarungen getroffen haben. Die für die Schoenland Online GmbH geltenden Regelungen über die Verbindlichkeit von Willenserklärungen bleiben unberührt.