[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