Ich habe Asterisk auf der 7390 (unter Freetz) am Laufen.
Meine Vorgehensweise ganz verkürzt:
1.) Toolchain anhand dieses Artikel gebaut:
http://www.ip-phone-forum.de/showthread.php?t=217453&page=1
(freetz labor trunk 6982M)
2.) Asterisk kompiliert, angelehnt an dieses Script:
http://thilo.ginkel.com/archive/freetz/asterisk-1.6.0.19+chan_capi-1.1.4-freetz.tar.bz2
(asterisk-1.4.41 und asterisk-1.6.2.18 probiert)
./compile und make menuselect laufen glatt durch. Beim anschließenden make kommt:
Code:
translate.o: In function `powerof':
/usr/src/freetz/asterisk-1.6.2.18/main/translate.c:75: undefined reference to `__ffssi2'
/usr/src/freetz/asterisk-1.6.2.18/main/translate.c:75: undefined reference to `__ffssi2'
/usr/src/freetz/asterisk-1.6.2.18/main/translate.c:75: undefined reference to `__ffssi2'
/usr/src/freetz/asterisk-1.6.2.18/main/translate.c:75: undefined reference to `__ffssi2'
/usr/src/freetz/asterisk-1.6.2.18/main/translate.c:75: undefined reference to `__ffssi2'
translate.o:/usr/src/freetz/asterisk-1.6.2.18/main/translate.c:75: more undefined references to `__ffssi2' follow
collect2: ld returned 1 exit status
make[1]: *** [asterisk] Fehler 1
make: *** [main] Fehler 2
Die Datei main/translate.c sieht an der fraglichen Stelle so aus:
Code:
/*! \brief returns the index of the lowest bit set */
static force_inline int powerof(unsigned int d) {
int x = ffs(d);
if (x)
return x - 1;
ast_log(LOG_WARNING, "No bits set? %d\n", d);
return -1;
}
ich habe das dann, mangels Kenntnis über die Bedeutung von 'ffs' so auskommentiert:
Code:
/*! \brief returns the index of the lowest bit set */
static force_inline int powerof(unsigned int d) {
/* int x = ffs(d);
if (x)
return x - 1;
ast_log(LOG_WARNING, "No bits set? %d\n", d);
*/
return -1;
}
Dann läuft der make glatt durch und ich kann Asterisk auf der 7390 installieren und benutzen.
Telefonieren zwischen 2 SIP-Telefonen funktioniert auch, allerdings mit dieser Warnung:
Code:
[2011-05-13 21:48:56] -- Called 1001
[2011-05-13 21:48:56] -- SIP/1001-00000003 is ringing
[2011-05-13 21:48:56] WARNING[3830]: channel.c:3631 set_format: Unable to find a codec translation path from 0x8 (alaw) to 0x40 (slin)
[2011-05-13 21:48:56] WARNING[3830]: indications.c:122 playtones_alloc: Unable to set 'SIP/1002-00000002' to signed linear format (write)
[2011-05-13 21:48:57] -- SIP/1001-00000003 is ringing
[2011-05-13 21:48:58] -- SIP/1001-00000003 answered SIP/1002-00000002
Hat jemand eine Idee, wie man die translate/powerof Funktion reparieren könnte?
Ich verspreche, dann eine detaillierte Anleitung für Asterisk auf der 7390 zu liefern ;-)
Udo