[Users] tracking down problems adding permanent usrloc record
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Tue Jan 10 20:48:47 CET 2006
Hi Mike,
the problem should be solved - I just committed on devel branch
configurable management for types of aliases. You may enable/disable the
usrloc aliases (UL_ALIASES) or database aliases (DB_ALIASES).
The control is done via env variables ENABLE_UL_ALIASES and
ENABLE_DB_ALIASES (or internal vars)
which may be set to zero (disable) or non zero (enable).
Default only ENABLE_DB_ALIASES is enabled.
So if you keep ENABLE_UL_ALIASES=0 you do not need to put the dummy
lookup("aliases") in your script.
regards,
bogdan
Bogdan-Andrei Iancu wrote:
> Hi,
>
> actually the problem is in the openserctl script - it checks via FIFO
> if the user is or not an alias (that;s because internally same
> function is used for both adding aliases and users).
>
> I will post a bug in order to have this fixed.
>
> regards,
> Bogdan
>
> Klaus Darilion wrote:
>
>> Hi Mike!
>>
>> I do not know why, but you need a lookup("aliases") somewhere in your
>> config, e.g.:
>>
>> route[5] {
>> # dummy route for aliases lookup
>> # this route will never be used,
>> # but we need it to enable
>> # openserctl ul add ....
>> lookup("aliases");
>> }
>>
>> regards
>> klaus
>>
>>
>> Mike Williams wrote:
>>
>>> On Monday 02 January 2006 11:11, Juha Heinanen wrote:
>>>
>>>> Mike Williams writes:
>>>> > I created the account 11112223333 at mydomain.net to test with, and
>>>> then I
>>>> > attempted to use:
>>>> >
>>>> > openserctl ul add 11112223333 at etcvoip.net
>>>> sip:18122228203 at etcvoip.net
>>>> >
>>>> > but it returned:
>>>> >
>>>> > error: 400; check if you use aliases in OpenSER
>>>> >
>>>> > I added the alias_db module to my config, but I still get errors.
>>>> Any
>>>> > advice? Should I add them manually to the location database?
>>>>
>>>> i have never used openserctl. my management application writes
>>>> permanent contacts directly to location table. remember to tell via
>>>> flags field that registration is permanent.
>>>>
>>>> -- juha
>>>
>>>
>>>
>>>
>>> I modified the openserctl script to give more output:
>>>
>>> 400 table (aliases) not found
>>> error: 400; check if you use aliases in OpenSER
>>>
>>> on `openserctl ul add 11112223333 at etcvoip.net
>>> sip:18122228203 at etcvoip.net`
>>>
>>> I traced this message back to the ul_show_contact function in
>>> ul_fifo.c. Everything is fine until it gets to line 573, where it
>>> calls fifo_find_domain, which sets d=0. Then, in line 575, the error
>>> message given above is returned because d if now false.
>>>
>>> static inline void fifo_find_domain(str* _name, udomain_t** _d)
>>> {
>>> dlist_t* ptr;
>>>
>>> ptr = root;
>>> while(ptr) {
>>> if ((ptr->name.len == _name->len) &&
>>> !memcmp(ptr->name.s, _name->s, _name->len)) {
>>> break;
>>> }
>>> ptr = ptr->next;
>>> }
>>> if (ptr) {
>>> *_d = ptr->d;
>>> } else {
>>> *_d = 0;
>>> }
>>> }
>>>
>>> I'm not a C programmer, so I don't really understand what's
>>> happening here, but it appears to be looping through a list to find
>>> a domain, checking to be sure their lengths and values match. It
>>> keeps looping until it finds one, and then quits on the first one.
>>> It appears that ptr doesn't point to anything in my case; it fails
>>> the next if, setting the passed-by-reference d to 0, leading me to
>>> think that it hasn't found any domains, or couldn't get a domain
>>> list in the beginning. What does this "ptr = root;" mean?
>>>
>>> I then tried running `openserctl domain show`, only to get:
>>>
>>> 500 command 'domain_dump' not available
>>>
>>> Now, I checked the actual database openser.domain table, and my
>>> domain appeared correctly. I am also loading the domain module on
>>> openser startup.
>>>
>>> Any ideas? I realize this is getting awfully deep into code, but I
>>> hope someone can help. It's probably a simple error on my part.
>>> Thanks in advance.
>>>
>>> Mike Williams
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/users
>>
>
>
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
More information about the Users
mailing list