Hallo,
ich habe mal versuch die aktuelle asterisk-trunk version
mit chan-capi zu compilieren. Leider klappt dies nicht.
Hat das jemand schon mal probiert?
Gibt es eventuell einen Patch?
Karl
Hallo,
ich habe mal versuch die aktuelle asterisk-trunk version
mit chan-capi zu compilieren. Leider klappt dies nicht.
Hat das jemand schon mal probiert?
Gibt es eventuell einen Patch?
Karl
erklär dein Problem mal etwas näher
Nun, es gibt zwischen den einzelnen Asterisk Versionen
1.2, 1.4 und trunk (dem zukünftigen 1.6) unterschiede
in der Schnittstelle. Chan-capi prüft derzeit auf 1.2 und 1.4
und passt sich entsprechend an. Für Trunk wählt er die 1.2
Schnittestelle aus und compiliert nicht durch.
Es müsste chan-capi auf "trunk" angepasst werden. Leider übersteigt dies meine Programmierfähigkeiten. Dies zum Hintergrund meiner Frage.
Vielleicht gibt es aber schon von jemanden eine Hack hierzu. Ist für asterisk 1.6 sowieso notwendig.
Die asterisk 1.6 beta ist jetzt erschienen.
Versuch' bitte mal die neue trunk (HEAD) version von chan-capi.
SVN trunk rev. 576 oder das HEAD-tgz von morgen.
Ich habe mal die Anpassungen gemacht, aber das ist noch nicht getestet.
Armin
Router: embedded Linux+Asterisk-1.4/chan_capi.org+Firewall+QoS
Hardware: Celeron, diskless(network boot)+Dialogic DIVA Server 4BRI
OS: ELinOS www.elinos.com www.pikeos.com
@armincm
Vielen Dank für die schnelle Reaktion.
Übersetzung und Installation haben schon mal top funktioniert. Ich werde Ergebnisse vom Test sobald es etwas gibt in nächsten Tagen melden.
Sieht bei uns schlecht aus. Setup Asterisk 1.6beta2 auf Centos5, chan-capi HEAD. AVM B1 bzw. 2 Server mit AVM passiv. Beide Rechner gehen grundsätzlich mit CAPI und Asterisk 1.4. Bei 1.6 passiert folgendes (outgoin call):
Connected to Asterisk 1.6.0-beta2 currently running on schumann (pid = 13749)
Verbosity is at least 11
-- Attempting call on CAPI/contr1/0521xxxxxx for s@outboundmsg_down:1 (Retry 1)
[... paar Sekunden Pause...]
[Feb 8 17:28:16] ERROR[13756]: chan_capi.c:679 local_queue_frame: Could not write to pipe for ISDN1#01
[Feb 8 17:28:16] ERROR[13756]: chan_capi.c:679 local_queue_frame: Could not write to pipe for ISDN1#01
[...]
== ISDN1#01: CAPI Hangingup for PLCI=0x101 in state 2
[Feb 8 17:38:36] NOTICE[13756]: pbx_spool.c:332 attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)
> ISDN1#01: CAPI INFO 0x3490: Normal call clearing
Der Context ist auch nicht spannend:
[outboundmsg_up]
exten => s,1,DigitTimeout,10
exten => s,n,ResponseTimeout,20
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n,Background(sound)
exten => s,n,Hangup
Dirk
Grrr... hier wurde in Asterisk wohl wieder was 'anders' gemacht. Toll, die API bleibt, muss aber anders behandelt werden, oder so. Naja, anyway, hier muss man mal genauer schauen, warum die Voice-Daten nicht von der Pipe gelesen wurden, sodass ein überlauf auftritt.
Keine Ahnung, ob ich dazu kurzfristig Zeit finde und solange Asterisk noch im Beta ist, gehe ich davon aus, dass noch einige Änderungen einfliessen...
Armin
Router: embedded Linux+Asterisk-1.4/chan_capi.org+Firewall+QoS
Hardware: Celeron, diskless(network boot)+Dialogic DIVA Server 4BRI
OS: ELinOS www.elinos.com www.pikeos.com
Vielen Dank! Auf der fritzbox mit * 1.6beta4, getestet 7270 am internen S0, läuft der chan_capi jetzt bei kommenden und gehenden Rufen mit Ton!
chan_capi-HEAD mit letzten Änderungen vom 24.2.08.
Gruss, spblinux
Danke für die Info.
Da ich hierzu in chan_capi keine Änderungen gemacht habe, war das dann wohl ein Fehler in Asterisk...
Armin
Router: embedded Linux+Asterisk-1.4/chan_capi.org+Firewall+QoS
Hardware: Celeron, diskless(network boot)+Dialogic DIVA Server 4BRI
OS: ELinOS www.elinos.com www.pikeos.com
Hallo Armin,
kann ich nicht bestätigen, mit beta4 geht's immer noch nicht, mit beta5 baut es gar nicht mehr:
[CC] chan_capi.c -> chan_capi.o
In file included from /usr/include/asterisk/utils.h:26,
from /usr/include/asterisk/config.h:30,
from /usr/include/asterisk/channel.h:147,
from chan_capi.h:25,
from chan_capi.c:30:
/usr/include/asterisk/network.h:55:2: error: #error "don't know how to handle network functions here."
In file included from /usr/include/asterisk/utils.h:26,
from /usr/include/asterisk/config.h:30,
from /usr/include/asterisk/channel.h:147,
from chan_capi.h:25,
from chan_capi.c:30:
/usr/include/asterisk/network.h:88: error: expected '=', ',', ';', 'asm' or '__a
ttribute__' before 'int'
In file included from /usr/include/asterisk/config.h:30,
from /usr/include/asterisk/channel.h:147,
Da ich den svn-Baum verfolge, habe ich auch keine relevanten Änderungen in diesem Bereich bei Dir gesehen. Ich denke mal, da musst Du noch mal Hand anlegen
Dirk
Aargh, es ist noch wilder: chan_capi läuft mit beta5! Wenn man das chan_capi installiert, was mit beta4 gebaut wurde. Strange...
Kann man denke ich leicht fixen (das Build-Problem).
Dirk
Und hier ist der Fix für 1.6beta5:
--- proj/asterisk/chan-capi/create_config.sh 2008-02-07 10:13:28.000000000 +0100
+++ create_config.sh 2008-03-06 10:50:38.000000000 +0100
@@ -27,13 +27,8 @@
fi
echo -n "Checking Asterisk version... "
-if grep -q "ast_get_version_num" $INCLUDEDIR/version.h; then
-AVERSION="not found, assuming 1.6.x"
-VER=1_6
-else
AVERSION=`sed -n '/.*ASTERISK_VERSION /s/^.*ASTERISK_VERSION //p' $INCLUDEDIR/version.h`
AVERSION=`echo $AVERSION | sed 's/\"//g'`
-fi
echo $AVERSION
echo "/*" >$CONFIGFILE
@@ -48,19 +43,11 @@
echo "#define CC_AST_HAS_VERSION_1_4" >>$CONFIGFILE
echo " * found Asterisk version 1.4"
VER=1_4
-else
- if grep -q "ASTERISK_VERSION_NUM 99999" $INCLUDEDIR/version.h; then
- echo "#define CC_AST_HAS_VERSION_1_4" >>$CONFIGFILE
- echo " * assuming Asterisk version 1.4"
- VER=1_4
- else
- if [ "$VER" = "1_6" ]; then
- echo "#define CC_AST_HAS_VERSION_1_6" >>$CONFIGFILE
- echo " * assuming Asterisk version 1.6"
- else
- echo "#undef CC_AST_HAS_VERSION_1_4" >>$CONFIGFILE
- fi
fi
+if grep -q "ASTERISK_VERSION_NUM .*106" $INCLUDEDIR/version.h; then
+ echo "#define CC_AST_HAS_VERSION_1_6" >>$CONFIGFILE
+ echo " * found Asterisk version 1.6"
+ VER=1_6
fi
check_two_and_four()
Klappt und für gut befunden
Dirk
Hi Armin,
leider funktioniert Deine Anpassung für den 1.6-Source nicht. Bitte nimm' meinen Patch, ich schaue mir die Version richtig an. Ohne diesen Patch baut chan_capi nicht mit 1.6.0beta6.
Dirk
Ja, meine Änderung war auch nicht für die beta packages gedacht, sondern für trunk.
Neue rev 603 sollte nun beides können.
Armin
Router: embedded Linux+Asterisk-1.4/chan_capi.org+Firewall+QoS
Hardware: Celeron, diskless(network boot)+Dialogic DIVA Server 4BRI
OS: ELinOS www.elinos.com www.pikeos.com
Die aktuelle Version 1.1.1 braucht für Asterisk-1.6.0beta8 immer noch meinen Patch...
Dirk
Ja, aber ein Release wird nicht mehr verändert. Der fix ist in SVN trunk drin und wird bei einem neuen Release mit dabei sein.
Dein Patch funktioniert zwar mit den 1.6.0beta, aber nicht mit Asterisk-trunk.
Armin
Router: embedded Linux+Asterisk-1.4/chan_capi.org+Firewall+QoS
Hardware: Celeron, diskless(network boot)+Dialogic DIVA Server 4BRI
OS: ELinOS www.elinos.com www.pikeos.com