chan_capi compiliert nicht mit 1.8.19.1

back2live

Neuer User
Mitglied seit
16 Okt 2008
Beiträge
104
Punkte für Reaktionen
0
Punkte
16
Hallo,

chan_capi compiliert nicht mehr mit dem aktuellen Asterisk 1.8.19.1.

Die aktuellen includes vom Asterisk werden verwendet.
Code:
root@asterisk:~/chan-capi-trunk# make
./create_config.sh "/usr/include"
Checking Asterisk version... 1.8.19.1
 * found Asterisk version 1.8
Using Asterisk 1.8 API
 * found new 'ast_dsp_set_digitmode' function
 * found new union data in ast_frame structure
 * found new union subclass in ast_frame structure
 * found ast_channel_release function
 * found new ast_devstate2str function
 * found requestor in ast_request
 * found format_t in ast_request
 * found const char in ast_register_application
 * found linkedid in ast_channel_alloc
 * found format_t in frame_defs
 * found rtp_engine.h
 * found ast_sockaddr structure
config.h complete.

 [CC] chan_capi.c -> chan_capi.o
 [CC] chan_capi_utils.c -> chan_capi_utils.o
 [CC] chan_capi_rtp.c -> chan_capi_rtp.o
 [CC] chan_capi_command.c -> chan_capi_command.o
 [CC] xlaw.c -> xlaw.o
 [CC] dlist.c -> dlist.o
 [CC] chan_capi_qsig_core.c -> chan_capi_qsig_core.o
 [CC] chan_capi_qsig_ecma.c -> chan_capi_qsig_ecma.o
 [CC] chan_capi_qsig_asn197ade.c -> chan_capi_qsig_asn197ade.o
 [CC] chan_capi_qsig_asn197no.c -> chan_capi_qsig_asn197no.o
 [CC] chan_capi_supplementary.c -> chan_capi_supplementary.o
 [CC] chan_capi_chat.c -> chan_capi_chat.o
 [CC] chan_capi_mwi.c -> chan_capi_mwi.o
 [CC] chan_capi_cli.c -> chan_capi_cli.o
 [CC] chan_capi_ami.c -> chan_capi_ami.o
 [CC] chan_capi_management_common.c -> chan_capi_management_common.o
 [CC] chan_capi_devstate.c -> chan_capi_devstate.o
chan_capi_devstate.c: In function ‘pbx_capi_chat_room_state_event’:
chan_capi_devstate.c:116: error: incompatible type for argument 2 of ‘ast_devstate_changed’
/usr/include/asterisk/devicestate.h:150: note: expected ‘enum ast_devstate_cache’ but argument is of type ‘char *’
chan_capi_devstate.c: In function ‘pbx_capi_ifc_state_event’:
chan_capi_devstate.c:133: error: incompatible type for argument 2 of ‘ast_devstate_changed’
/usr/include/asterisk/devicestate.h:150: note: expected ‘enum ast_devstate_cache’ but argument is of type ‘char *’
chan_capi_devstate.c:133: warning: passing argument 3 of ‘ast_devstate_changed’ makes pointer from integer without a cast
/usr/include/asterisk/devicestate.h:150: note: expected ‘const char *’ but argument is of type ‘int’
At top level:
cc1: warning: unrecognized command line option "-Wno-unused-but-set-variable"
make: *** [chan_capi_devstate.o] Fehler 1
root@asterisk:~/chan-capi-trunk#

Ich kann unter http://bugs.melware.net/ leider kein Ticket erstellen da ich keinen Account erstellen kann, gibt einen Fehler.
Gibt es dafür eine Lösung, oder kann jemand ein Ticket eröffnen oder den Fehler weitergeben.

viele Grüße
Andi

Müsste das gleiche sein:
https://issues.asterisk.org/jira/br...ira.plugin.system.issuetabpanels:all-tabpanel

Habe nun chan_capi_devstate.c angepasst jetzt compiliert es, keine Ahnung ob man es so lassen kann.
Code:
--- chan_capi_devstate_orig.c   2013-01-10 09:01:21.851602196 +0100
+++ chan_capi_devstate.c        2013-01-10 08:59:09.441115293 +0100
@@ -113,7 +113,7 @@
 {
        if (capiChatProviderRegistered != 0) {
 #ifdef CC_AST_HAS_VERSION_1_6
-               ast_devstate_changed((inUse != 0) ? AST_DEVICE_INUSE : AST_DEVICE_NOT_INUSE, "capichat:%s", roomName);
+               ast_devstate_changed((inUse != 0) ? AST_DEVICE_INUSE : AST_DEVICE_NOT_INUSE, 0, "capichat:%s", roomName);
 #else
                ast_device_state_changed("capichat:%s", roomName);
 #endif
@@ -130,7 +130,7 @@
                        ((capiController->nfreebchannels >= capiController->nfreebchannelsHardThr) &&
                                (capiController->nfreebchannels - channelsChanged < capiController->nfreebchannelsHardThr))) {
 #ifdef CC_AST_HAS_VERSION_1_6
-               ast_devstate_changed(AST_DEVICE_UNKNOWN, CC_MESSAGE_BIGNAME"/I%d/congestion", capiController->controller);
+               ast_devstate_changed(AST_DEVICE_UNKNOWN, 0, CC_MESSAGE_BIGNAME"/I%d/congestion", capiController->controller);
 #else
                ast_device_state_changed (CC_MESSAGE_BIGNAME"/I%d/congestion", capiController->controller);
 #endif
 
Zuletzt bearbeitet:
Danke, das konnte auch mir helfen.

Für Asterisk 10.12.0 Fedora release 17 Kernel 3.7.3-101.fc17.x86_64 hab ich es so gemacht:

Code:
--- create_config.sh.rev_956    2013-01-30 13:18:16.072218696 +0100
+++ create_config.sh    2013-01-30 14:24:57.392305529 +0100
@@ -68,0 +69,9 @@
+        101*)
+               echo "#define CC_AST_HAS_VERSION_1_6" >>$CONFIGFILE
+               echo "#define CC_AST_HAS_VERSION_1_8" >>$CONFIGFILE
+               echo "#define CC_AST_HAS_VERSION_10_0" >>$CONFIGFILE
+               echo "#define CC_AST_HAS_VERSION_10_1" >>$CONFIGFILE
+               echo "#define CC_AST_HAS_EVENT_MWI"   >>$CONFIGFILE
+               echo " * found Asterisk version 10"
+               VER=10_1
+               ;;
@@ -298 +307 @@
-       10_0)
+       10_*)

Code:
--- chan_capi_devstate.c.rev_956        2013-01-30 14:17:42.443200224 +0100
+++ chan_capi_devstate.c        2013-01-30 14:18:32.633904910 +0100
@@ -115,0 +116,3 @@
+ #ifdef CC_AST_HAS_VERSION_10_1
+               ast_devstate_changed((inUse != 0) ? AST_DEVICE_INUSE : AST_DEVICE_NOT_INUSE, 0, "capichat:%s", roomName);
+ #else
@@ -116,0 +120 @@
+ #endif
@@ -132,0 +137,3 @@
+ #ifdef CC_AST_HAS_VERSION_10_1
+               ast_devstate_changed(AST_DEVICE_UNKNOWN, 0, CC_MESSAGE_BIGNAME"/I%d/congestion", capiController->controller);
+ #else
@@ -133,0 +141 @@
+ #endif

Jochen
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,219
Beiträge
2,248,328
Mitglieder
373,792
Neuestes Mitglied
gilbertsamson563
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.