Mein Asterisk 1.4 Test war schnell beendet, als LDAPget den Asterisk zum Coredump brachte.
Nach einem Tipp vom Programmier von LDAPget wechselte ich von
Variante I
zu
Variante II
Variante II funktioniert auch unter Asterisk 1.4, aber dafür stürzt damit 1.2 ab.
Hat jemand ebenfalls die Probleme auf seinem System?
Anhang:
Asterisk crashes when in function
is called. to be exact: it's the realloc that causes the problem, but i
don't know why.
Test with Kubuntu 6.10, Asterisk 1.4, i386
Also tested on Debian etch, with Asterisk 1.4. svn branch (1 week ago,
more or less...)
appldap 2.0rc1 http://www.mezzo.net/asterisk/app_ldap.html
app_ldap 1.06rc6+Asterisk 1.2.13 works fine in the same environment
Nach einem Tipp vom Programmier von LDAPget wechselte ich von
Variante I
Code:
config:
filter = (&(objectClass=*)(|(telephoneNumber=*%s)(mobile=*%s)(fax=*%s)(homePhone=*%s)(pager=*%s)))
extension.ael:
Set(CALLERID(name)=${CALLERIDNUM});
Set(clen=${LEN(${CALLERID(number)})});
// Nummer sollte nicht zu kurz sein, um falsche Suchergebnisse zu vermeiden
if (${clen} > 6 ) { // Achtung Klammer nicht versetzten
Set(num=${CALLERID(number):1}); // Nummer um erste Null kuerzen, fuer internationle Anrufer mues
LDAPget(CALLERIDNAME=cidname/${num},${num},${num},${num}); // "unscharfe" Suche nach CALLERID
}
zu
Variante II
Code:
config:
filter = (&(objectClass=*)(|(telephoneNumber=*${num})(mobile=*${num})(fax=*${num})(homePhone=*${num})(pager=*${num})))
extension.ael
...
LDAPget(CALLERIDNAME=cidname); // "unscharfe" Suche nach CALLERID
...
Variante II funktioniert auch unter Asterisk 1.4, aber dafür stürzt damit 1.2 ab.
Hat jemand ebenfalls die Probleme auf seinem System?
Anhang:
Asterisk crashes when in function
Code:
static int ldap_exec (struct ast_channel *chan, void *data)
Code:
if(keys && strstr(filter, "%s") != NULL) {
filter = (char *)ast_realloc(filter,(strlen(filter)+strlen(keys)+1)*sizeof(char));
while((key = strsep(&keys, "|")) != NULL) {
if((tail = strstr(filter, "%s")) != NULL) {
memmove(tail+strlen(key), tail+2, strlen(tail+2)+1);
memcpy(tail, key, strlen(key));
}
}
}
don't know why.
Test with Kubuntu 6.10, Asterisk 1.4, i386
Also tested on Debian etch, with Asterisk 1.4. svn branch (1 week ago,
more or less...)
appldap 2.0rc1 http://www.mezzo.net/asterisk/app_ldap.html
app_ldap 1.06rc6+Asterisk 1.2.13 works fine in the same environment
Zuletzt bearbeitet: