Module: sip-router Branch: master Commit: fd9fe6e683ca3c446daa043035072a379f9b11bb URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=fd9fe6e6...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: Fri Apr 13 14:45:06 2012 +0200
registrar(k): added initial support for GRUU - RFC 5627
- save() and lookup() recognize now the GRUU cases - save() generates both pub-gruu and temp-gruu, sending them in the Contact headers for 200 reply - lookup() will match on GRUU if it is the case, resulting to a Contact address only (no additional branches)
---
modules_k/registrar/Makefile | 1 + modules_k/registrar/README | 14 +++ modules_k/registrar/common.c | 37 ++++--- modules_k/registrar/common.h | 4 +- modules_k/registrar/doc/registrar_admin.xml | 17 +++ modules_k/registrar/lookup.c | 141 +++++++++++++++++++++++---- modules_k/registrar/reg_mod.c | 9 ++ modules_k/registrar/regpv.c | 2 +- modules_k/registrar/reply.c | 121 ++++++++++++++++++++++- modules_k/registrar/reply.h | 2 +- modules_k/registrar/save.c | 69 ++++++++++---- 11 files changed, 356 insertions(+), 61 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=fd9f...
daniel,
i built latest master, registered user test@test.fi and tried to call it. result was that lookup failed.
i checked that test@test.fi is property registered:
# sip-proxy_ctl mi ul_show_contact location test@test.fi Contact:: sip:0x9993ce8@188.67.137.210:34711;transport=tcp;q=0.5;expires=491;flags=0x0;cflags=0x0;socket=tcp:192.98.102.10:5060;methods=0xFFFFFFFF;received=sip:192.98.102.10:40192;transport=TCP;user_agent=<baresip v0.4.0 (i586/linux)>
and added xlog to lookup:
if (lookup("location")) { route(FORWARD_TO_CONTACTS); exit; } else { xlog("L_INFO", "lookup on $ru failed with result $rc\n"); };
and got to syslog
Apr 15 09:50:10 sip /usr/sbin/sip-proxy[12199]: INFO: lookup on sip:test@test.fi failed with result -1
any ideas?
-- juha
ps. should ul_show_contact be extended to show also ruid and instance fields, which in this test case would show info?
i tried with
modparam("registrar", "gruu_enabled", 0)
and still lookup fails to find registration.
-- juha
Hello,
indeed, the condition for non-gruu was broken inside allowed_methods() test. I pushed the fix for it in master.
Cheers, Daniel
On 4/15/12 9:24 AM, Juha Heinanen wrote:
i tried with
modparam("registrar", "gruu_enabled", 0)
and still lookup fails to find registration.
-- juha
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
with latest master, save("location") creates in location table a record where domain is NULL. to header in register request is
To: sip:test@test.fi
once that has happened and i restart sip proxy, i get to syslog:
Apr 15 21:15:13 sip /usr/sbin/sip-proxy[5693]: CRITICAL: usrloc [udomain.c:454]: empty domain record for user test...skipping Apr 15 21:15:13 sip /usr/sbin/sip-proxy[5693]: CRITICAL: usrloc [udomain.c:454]: empty domain record for user test...skipping
looks pretty serious to me. am i the only one who i trying this stuff out?
-- juha
Hello,
I just committed an update -- the issue was for multi-domain usage and no +sip.instance parameter, the matching of columns/values was done wrong, causing 1 offset and domain saved to wrong column.
I will look at the warnings from the other emails tomorrow, my gcc don't throw them, but I am on an old version for the moment.
Cheers, Daniel
On 4/15/12 8:16 PM, Juha Heinanen wrote:
with latest master, save("location") creates in location table a record where domain is NULL. to header in register request is
once that has happened and i restart sip proxy, i get to syslog:
Apr 15 21:15:13 sip /usr/sbin/sip-proxy[5693]: CRITICAL: usrloc [udomain.c:454]: empty domain record for user test...skipping Apr 15 21:15:13 sip /usr/sbin/sip-proxy[5693]: CRITICAL: usrloc [udomain.c:454]: empty domain record for user test...skipping
looks pretty serious to me. am i the only one who i trying this stuff out?
-- juha
forgot to say that you should re-create the location/aliases tables or update the instance column definition to allow null value.
Daniel
On 4/15/12 10:51 PM, Daniel-Constantin Mierla wrote:
Hello,
I just committed an update -- the issue was for multi-domain usage and no +sip.instance parameter, the matching of columns/values was done wrong, causing 1 offset and domain saved to wrong column.
I will look at the warnings from the other emails tomorrow, my gcc don't throw them, but I am on an old version for the moment.
Cheers, Daniel
On 4/15/12 8:16 PM, Juha Heinanen wrote:
with latest master, save("location") creates in location table a record where domain is NULL. to header in register request is
once that has happened and i restart sip proxy, i get to syslog:
Apr 15 21:15:13 sip /usr/sbin/sip-proxy[5693]: CRITICAL: usrloc [udomain.c:454]: empty domain record for user test...skipping Apr 15 21:15:13 sip /usr/sbin/sip-proxy[5693]: CRITICAL: usrloc [udomain.c:454]: empty domain record for user test...skipping
looks pretty serious to me. am i the only one who i trying this stuff out?
-- juha