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 [EMAIL PROTECTED] to test with, and
then I
> attempted to use:
>
> openserctl ul add [EMAIL PROTECTED]
sip:[EMAIL PROTECTED]
>
> 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 [EMAIL PROTECTED]
sip:[EMAIL PROTECTED]
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
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users