A@H Primux 2S0 und chan_capi-cm

Tiny_Dragon

snom-Support
Mitglied seit
7 Jan 2005
Beiträge
256
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich versuche gerade meine primux 2SO unter A@H zum Laufen zu bekommen. Leider nur mit mäßigem Erfolg, es hapert nämlich am chan_capi-cm.
Ich habe zunächst das A@H installiert, gefolgt vom Treiber der Gerdes Karte auf der mitgelieferten Treiber-CD. Der Treiber wird auch mitgeladen.
Jetzt habe ich mit chan_capi-cm.0.6.5 heruntergeladen und entpackt. Habe die Makefile nochmal kontrolliert ob die Pfade stimmen und habe dann das make angestoßen. Und hier fängt der Ärger schon an. Er findet nämlich schon zu anfang die header datei capi20.h nicht. Diese ist auch nicht auf dem System auffindbar.

Habe ich eine Abhängigkeit vergessen zu installieren? Kann mir einer nen Tip geben?
 
Die Datei capi20.h gehoert zur libcapi20 und ist bei den meisten Distris als libcapi20-dev Paket zu bekommen. Wie das aber bei A@H (CentOS) aussieht, kann ich nicht sagen. Ansonsten kannst Du dir dad komplette libcapi Paket
als Source bei mir (ftp.melware.net) laden und selbst compilieren/installieren.

Armin
 
Hallo,

danke für die Hilfe. Das Kompilieren und Installieren hat, mit den download der Sourcen, jetzt erstmal geklappt. Ich habe manuell die .h dateien aus dem source tarball in das Inlude-Verzeichnis kopiert. Danach lief das Kompilieren ohne Probleme.

Gruß
 
Hallo,

nachdem ich nun der meinung bin das ich chan_capi-cm installiert habe lässt es sich nicht wirklich einbinden.

In der /var/log/asterisk/full findet sich folgendes:

[chan_capi.so]May 10 18:41:57 VERBOSE[2517] logger.c: [chan_capi.so] => (Common ISDN API for Asterisk)
May 10 18:41:57 VERBOSE[2517] logger.c: == Parsing '/etc/asterisk/capi.conf': May 10 18:41:57 VERBOSE[2517] logger.c: == Parsing '/etc/asterisk/capi.conf': Found
May 10 18:41:57 WARNING[2517] chan_capi.c: CAPI not installed, CAPI disabled!
May 10 18:41:57 WARNING[2517] loader.c: chan_capi.so: load_module failed, returning -1
May 10 18:41:57 WARNING[2517] loader.c: Loading module chan_capi.so failed!

Meine capi.conf sieht folgender maßen aus:[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8
language=de ;set default language
;ulaw=yes ;set this, if you live in u-law world instead of a-law

; interface sections ...

[ISDN1] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
;ntmode=yes ;if isdn card operates in nt mode, set this to yes
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=<Anlagenanschlusskennung> ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123 ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
;controller=0 ;ISDN4BSD default
;controller=7 ;ISDN4BSD USB default
controller=1 ;capi controller number to use
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode= ;Asterisk accountcode to use in CDRs
context=capi-in ;context for incoming calls
;holdtype=hold ;when Asterisk puts the call on hold, ISDN HOLD will be used. If
;set to 'local' (default value), no hold is done and Asterisk may
;play MOH.
;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
echocancel=yes ;EICON DIVA SERVER (CAPI) echo cancelation
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
;echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64 ;echo cancel tail setting
;bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;language=de ;set language for this device (overwrites default language)
devices=2 ;number of concurrent calls on this controller
;(2 makes sense for single BRI, 30 for PRI)


[ISDN2] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
;ntmode=yes ;if isdn card operates in nt mode, set this to yes
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=<Anlagenanschlusskennung> ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123 ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
;controller=0 ;ISDN4BSD default
;controller=7 ;ISDN4BSD USB default
controller=2 ;capi controller number to use
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode= ;Asterisk accountcode to use in CDRs
context=capi-in ;context for incoming calls
;holdtype=hold ;when Asterisk puts the call on hold, ISDN HOLD will be used. If
;set to 'local' (default value), no hold is done and Asterisk may
;play MOH.
;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
echocancel=yes ;EICON DIVA SERVER (CAPI) echo cancelation
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
;echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64 ;echo cancel tail setting
;bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;language=de ;set language for this device (overwrites default language)
devices=2 ;number of concurrent calls on this controller
;(2 makes sense for single BRI, 30 for PRI)


Gibt es noch ein logfile was man auswerten kann? Hat jemand eine idee was ich falsch gemacht haben kann.
 
Die Zeile
May 10 18:41:57 WARNING[2517] chan_capi.c: CAPI not installed, CAPI disabled!
bedeutet, dass CAPI nicht auf dem System verfuegbar ist. Also z.b.
- keine CAPI faehige Karte installiert
- kein CAPI faegihen Treiber am laufen
- das device /dev/capi20 ist nicht verfuegbar (z.B. permissions)

Das Programm capiinfo kann hier zum Test ob /dev/capi20 korrekt verfuegbar ist helfen.

Armin
 
Hallo Armin,

danke für den Hinweis auf die capiinfo. Die Ausgabe interpretiere ich so das eigendlich alles ok sein sollte:

capiinfo
Number of Controllers : 2
Controller 1:
Manufacturer: Gerdes Telekommunikation
CAPI Version: 2.0
Manufacturer Version: 3.5
Serial Number: 2575755
BChannels: 2
Global Options: 0x00000ad9
internal controller supported
DTMF supported
Supplementary Services supported
B1 protocols support: 0x0000001f
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 asynconous operation with start/stop byte framing
V.110 synconous operation with HDLC framing
T.30 modem for fax group 3
B2 protocols support: 0x0000105b
ISO 7776 (X.75 SLP)
Transparent
LAPD with Q.921 for D channel X.25 (SAPI 16)
T.30 for fax group 3
Transparent (ignoring framing errors of B1 protocol)
LAPD with Q.921 including free SAPI selection
B3 protocols support: 0x00000037
Transparent
T.90NL, T.70NL, T.90
ISO 8208 (X.25 DTE-DTE)
T.30 for fax group 3
T.30 for fax group 3 with extensions

0200
0200
d90a0000
1f000000
5b100000
37000000
00000000 00000000 00000000 00000000 00000000 00000000
0400f4e6 01008b4d 27000000 00000000 00000000

Supplementary services support: 0x000007ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS

Controller 2:
Manufacturer: Gerdes Telekommunikation
CAPI Version: 2.0
Manufacturer Version: 3.5
Serial Number: 2575755
BChannels: 2
Global Options: 0x00000ad9
internal controller supported
DTMF supported
Supplementary Services supported
B1 protocols support: 0x0000001f
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 asynconous operation with start/stop byte framing
V.110 synconous operation with HDLC framing
T.30 modem for fax group 3
B2 protocols support: 0x0000105b
ISO 7776 (X.75 SLP)
Transparent
LAPD with Q.921 for D channel X.25 (SAPI 16)
T.30 for fax group 3
Transparent (ignoring framing errors of B1 protocol)
LAPD with Q.921 including free SAPI selection
B3 protocols support: 0x00000037
Transparent
T.90NL, T.70NL, T.90
ISO 8208 (X.25 DTE-DTE)
T.30 for fax group 3
T.30 for fax group 3 with extensions

0200
0200
d90a0000
1f000000
5b100000
37000000
00000000 00000000 00000000 00000000 00000000 00000000
0400f4e6 01008b4d 27000000 00000000 00000000

Supplementary services support: 0x000007ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS

Die Rechte des Device /dev/capi20 sind 766 root:root. Sollte eigendlich verfügbar sein bin ich der Meinung.

Hast du oder sonst wer noch ne Idee? Ich werde mal probieren das auf 777 zu setzen.

Gruß

Sascha
 
Hallo,

das Ändern der Dateirechte des Device /dev/capi20 scheint den gewünschten Erfolg gebracht zu haben:

asterisk1*CLI> capi info
Contr1: 2 B channels total, 2 B channels free.
Contr2: 2 B channels total, 2 B channels free.

Ich kann erst die Tage kontrollieren ob alles funktioniert und Berichte dann.

Danke an Armin

Gruß

Sascha
 
Hallo,

leider wird der Treiber anscheinend doch nicht geladen. Im
* log (full) ist immernoch folgendes der fall:

VERBOSE[2451] logger.c: [chan_capi.so]May 12 18:06:49 VERBOSE[2451] logger.c: [chan_capi.so] => (Common ISDN API for Asterisk)
May 12 18:06:49 VERBOSE[2451] logger.c: == Parsing '/etc/asterisk/capi.conf': May 12 18:06:49 VERBOSE[2451] logger.c: == Parsing '/etc/asterisk/capi.conf': Found
May 12 18:06:49 WARNING[2451] chan_capi.c: CAPI not installed, CAPI disabled!
May 12 18:06:49 WARNING[2451] loader.c: chan_capi.so: load_module failed, returning -1
May 12 18:06:49 WARNING[2451] loader.c: Loading module chan_capi.so failed!

Komischer weise gibt mir asterisk unter asterisk -r
CLI> capi info

das hier aus:
Contr1: 2 B channels total, 2 B channels free.
Contr2: 2 B channels total, 2 B channels free.

bin irgendwie echt irritiert.

Hat einer nen Rat?
 
Das kann nicht zusammen passen. Wenn die CAPI Fehlermeldung kommt, dann wird Asterisk nicht gestartet, bzw. Asterisk mit CAPI ist nicht zur Verfuegung, also kann dann auch das Komando 'capi info' abgesetzt werden.

Armin
 
Es kann etwas mit der experimentellen Unterstützung des 2.6er Kernels vom Gerdes Capi zu tun haben. Aber das ist nur ne Vermutung. Ich werde mal Versuchen eine Version von A@H mit dem 2.4er Kernel zusammmen zu basteln. Habe es schon mit dem A@H Debian POrt probiert der zunächst ne 2.4er Kernel hat, dann aber A@H vorgaukelt das ein 2.6er Kernel installiert ist und komischerweise die Kernelquellen löscht. Und somit lässt sich der Gerdes Capi nicht installieren :(. Aber ich bleibe am Ball ;)

@Armin

Wie meinst du das mit dem abgesetzt werden?
 
Tausche einfach das wort 'abgesetzt' durch 'ausgefuehrt', 'eingetippt', oder 'benutzt'.

Ich denke nicht, dass es am Treiber liegt. Wenn das Programm 'capiinfo' eine Ausgabe liefert (wie bei dir), dann sollte der Treiber i.O. sein und Asterisk das gleiche bekommen. Die einzige Huerde, die hier noch sein kann, sind die permissions von /dev/capi20.
Wenn Du nun aber in Asterisk im CLI das 'capi info' oder 'capi show channels' ausfuehren kannst und eine Ausgabe bekommst, dann heisst das, dass Asterisk auch auf CAPI zugreifen kann. Und diesem Fall macht die CAPI Fehlermeldung keinen Sinn. Kann es sein, dass Du zwei Instanzen von Asterisk versuchst zu starten?

Armin
 
Hallo,

ich habe da ein ähnliches Problem.
habe mir A@H + Eicon 2FX ISDN Karte installiert. Die ISDN Treiber von Eicon ließen sich problemlos installieren. laut capi info und lsmod läuft die Karte.

Beim compilern von chan_capi-cm bekomm ich in der Konsole nur errors...

Tiny_Dragon schrieb:
...
Habe die Makefile nochmal kontrolliert ob die Pfade stimmen und habe dann das make angestoßen.
...
da ich keine Ahnung habe wie das geht habe ich habe die Makefile nicht verändert Kannst du mir sagen was du für Änderungen vorgenommen hast?


Fehlermeldung in der Konsole, mehr sehe ich leider nicht:

chan_capi.c:3560: error: dereferencing pointer to incomplete type
chan_capi.c:3561: error: dereferencing pointer to incomplete type
chan_capi.c:3562: error: dereferencing pointer to incomplete type
chan_capi.c:3563: error: dereferencing pointer to incomplete type
chan_capi.c:3569: warning: implicit declaration of function `SELECT_B_PROTOCOL_CONF_INFO'
chan_capi.c:3572: error: dereferencing pointer to incomplete type
chan_capi.c:3572: error: dereferencing pointer to incomplete type
chan_capi.c:3573: error: dereferencing pointer to incomplete type
chan_capi.c:3574: error: dereferencing pointer to incomplete type
chan_capi.c:3579: warning: implicit declaration of function `DATA_B3_CONF_INFO'
chan_capi.c:3583: warning: implicit declaration of function `DISCONNECT_CONF_INFO'
chan_capi.c:3587: warning: implicit declaration of function `DISCONNECT_B3_CONF_INFO'
chan_capi.c:3595: warning: implicit declaration of function `INFO_CONF_INFO'
chan_capi.c:3619: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_retrieve':
chan_capi.c:3630: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:3630: error: syntax error before "CMSG"
chan_capi.c:3639: error: dereferencing pointer to incomplete type
chan_capi.c:3647: error: dereferencing pointer to incomplete type
chan_capi.c:3648: error: dereferencing pointer to incomplete type
chan_capi.c:3663: error: dereferencing pointer to incomplete type
chan_capi.c:3664: error: dereferencing pointer to incomplete type
chan_capi.c:3666: error: dereferencing pointer to incomplete type
chan_capi.c:3672: error: dereferencing pointer to incomplete type
chan_capi.c:3673: error: dereferencing pointer to incomplete type
chan_capi.c:3677: error: dereferencing pointer to incomplete type
chan_capi.c:3680: error: dereferencing pointer to incomplete type
chan_capi.c:3681: error: dereferencing pointer to incomplete type
chan_capi.c:3691: error: `CMSG' undeclared (first use in this function)
chan_capi.c:3692: error: invalid lvalue in assignment
chan_capi.c:3693: error: invalid lvalue in assignment
chan_capi.c:3694: error: `_cstruct' undeclared (first use in this function)
chan_capi.c:3697: error: dereferencing pointer to incomplete type
chan_capi.c:3700: error: dereferencing pointer to incomplete type
chan_capi.c:3701: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_ect':
chan_capi.c:3713: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:3713: error: syntax error before "CMSG"
chan_capi.c:3728: error: dereferencing pointer to incomplete type
chan_capi.c:3733: error: dereferencing pointer to incomplete type
chan_capi.c:3734: error: dereferencing pointer to incomplete type
chan_capi.c:3740: error: dereferencing pointer to incomplete type
chan_capi.c:3745: error: dereferencing pointer to incomplete type
chan_capi.c:3748: error: dereferencing pointer to incomplete type
chan_capi.c:3749: error: dereferencing pointer to incomplete type
chan_capi.c:3754: error: dereferencing pointer to incomplete type
chan_capi.c:3755: error: dereferencing pointer to incomplete type
chan_capi.c:3755: error: dereferencing pointer to incomplete type
chan_capi.c:3760: error: dereferencing pointer to incomplete type
chan_capi.c:3761: error: `CMSG' undeclared (first use in this function)
chan_capi.c:3762: error: dereferencing pointer to incomplete type
chan_capi.c:3766: error: dereferencing pointer to incomplete type
chan_capi.c:3770: error: dereferencing pointer to incomplete type
chan_capi.c:3771: error: dereferencing pointer to incomplete type
chan_capi.c:3783: warning: implicit declaration of function `FACILITY_REQ_CONTROLLER'
chan_capi.c:3783: error: dereferencing pointer to incomplete type
chan_capi.c:3784: error: invalid lvalue in assignment
chan_capi.c:3785: error: invalid lvalue in assignment
chan_capi.c:3786: error: `_cstruct' undeclared (first use in this function)
chan_capi.c:3790: error: dereferencing pointer to incomplete type
chan_capi.c:3791: error: dereferencing pointer to incomplete type
chan_capi.c:3792: error: dereferencing pointer to incomplete type
chan_capi.c:3794: error: dereferencing pointer to incomplete type
chan_capi.c:3794: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_hold':
chan_capi.c:3806: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:3806: error: syntax error before "CMSG"
chan_capi.c:3812: error: dereferencing pointer to incomplete type
chan_capi.c:3813: error: dereferencing pointer to incomplete type
chan_capi.c:3818: error: dereferencing pointer to incomplete type
chan_capi.c:3819: error: dereferencing pointer to incomplete type
chan_capi.c:3823: error: dereferencing pointer to incomplete type
chan_capi.c:3824: error: dereferencing pointer to incomplete type
chan_capi.c:3834: error: `CMSG' undeclared (first use in this function)
chan_capi.c:3835: error: dereferencing pointer to incomplete type
chan_capi.c:3836: error: invalid lvalue in assignment
chan_capi.c:3837: error: `_cstruct' undeclared (first use in this function)
chan_capi.c:3840: error: dereferencing pointer to incomplete type
chan_capi.c:3840: error: dereferencing pointer to incomplete type
chan_capi.c:3843: error: dereferencing pointer to incomplete type
chan_capi.c:3843: error: dereferencing pointer to incomplete type
chan_capi.c:3844: error: dereferencing pointer to incomplete type
chan_capi.c:3846: error: dereferencing pointer to incomplete type
chan_capi.c:3848: error: dereferencing pointer to incomplete type
chan_capi.c:3850: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_malicious':
chan_capi.c:3861: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:3861: error: syntax error before "CMSG"
chan_capi.c:3864: error: dereferencing pointer to incomplete type
chan_capi.c:3865: error: dereferencing pointer to incomplete type
chan_capi.c:3870: error: dereferencing pointer to incomplete type
chan_capi.c:3877: error: `CMSG' undeclared (first use in this function)
chan_capi.c:3878: error: dereferencing pointer to incomplete type
chan_capi.c:3879: error: invalid lvalue in assignment
chan_capi.c:3880: error: `_cstruct' undeclared (first use in this function)
chan_capi.c:3884: error: dereferencing pointer to incomplete type
chan_capi.c:3884: error: dereferencing pointer to incomplete type
chan_capi.c:3887: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_echosquelch':
chan_capi.c:3903: error: dereferencing pointer to incomplete type
chan_capi.c:3905: error: dereferencing pointer to incomplete type
chan_capi.c:3910: error: dereferencing pointer to incomplete type
chan_capi.c:3910: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_holdtype':
chan_capi.c:3927: error: dereferencing pointer to incomplete type
chan_capi.c:3929: error: dereferencing pointer to incomplete type
chan_capi.c:3931: error: dereferencing pointer to incomplete type
chan_capi.c:3936: error: dereferencing pointer to incomplete type
chan_capi.c:3936: error: dereferencing pointer to incomplete type
chan_capi.c: In function `capi_signal_progress':
chan_capi.c:3948: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:3948: error: syntax error before "CMSG"
chan_capi.c:3950: error: dereferencing pointer to incomplete type
chan_capi.c:3950: error: dereferencing pointer to incomplete type
chan_capi.c:3954: error: dereferencing pointer to incomplete type
chan_capi.c:3958: error: dereferencing pointer to incomplete type
chan_capi.c:3959: error: dereferencing pointer to incomplete type
chan_capi.c:3964: error: `CMSG' undeclared (first use in this function)
chan_capi.c:3965: error: dereferencing pointer to incomplete type
chan_capi.c:3966: error: invalid lvalue in assignment
chan_capi.c:3967: error: invalid lvalue in assignment
chan_capi.c:3968: error: invalid lvalue in assignment
chan_capi.c:3969: error: invalid lvalue in assignment
chan_capi.c:3970: error: invalid lvalue in assignment
chan_capi.c:3971: error: invalid lvalue in assignment
chan_capi.c: In function `capi_indicate':
chan_capi.c:4058: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:4058: error: syntax error before "CMSG"
chan_capi.c:4065: error: dereferencing pointer to incomplete type
chan_capi.c:4069: error: dereferencing pointer to incomplete type
chan_capi.c:4076: error: dereferencing pointer to incomplete type
chan_capi.c:4077: error: dereferencing pointer to incomplete type
chan_capi.c:4087: error: dereferencing pointer to incomplete type
chan_capi.c:4089: error: dereferencing pointer to incomplete type
chan_capi.c:4090: error: dereferencing pointer to incomplete type
chan_capi.c:4090: error: dereferencing pointer to incomplete type
chan_capi.c:4091: error: `CMSG' undeclared (first use in this function)
chan_capi.c:4091: error: dereferencing pointer to incomplete type
chan_capi.c:4092: error: dereferencing pointer to incomplete type
chan_capi.c:4093: error: invalid lvalue in assignment
chan_capi.c:4097: error: dereferencing pointer to incomplete type
chan_capi.c:4101: error: dereferencing pointer to incomplete type
chan_capi.c:4103: error: dereferencing pointer to incomplete type
chan_capi.c:4104: error: dereferencing pointer to incomplete type
chan_capi.c:4104: error: dereferencing pointer to incomplete type
chan_capi.c:4105: error: dereferencing pointer to incomplete type
chan_capi.c:4106: error: dereferencing pointer to incomplete type
chan_capi.c:4107: error: invalid lvalue in assignment
chan_capi.c:4111: error: dereferencing pointer to incomplete type
chan_capi.c:4115: error: dereferencing pointer to incomplete type
chan_capi.c:4117: error: dereferencing pointer to incomplete type
chan_capi.c:4120: error: dereferencing pointer to incomplete type
chan_capi.c:4122: error: dereferencing pointer to incomplete type
chan_capi.c:4126: error: dereferencing pointer to incomplete type
chan_capi.c:4128: error: dereferencing pointer to incomplete type
chan_capi.c:4133: error: dereferencing pointer to incomplete type
chan_capi.c:4135: error: dereferencing pointer to incomplete type
chan_capi.c:4141: error: dereferencing pointer to incomplete type
chan_capi.c:4143: error: dereferencing pointer to incomplete type
chan_capi.c:4147: error: dereferencing pointer to incomplete type
chan_capi.c:4151: error: dereferencing pointer to incomplete type
chan_capi.c: In function `do_monitor':
chan_capi.c:4181: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:4181: error: syntax error before "monCMSG"
chan_capi.c:4184: error: `monCMSG' undeclared (first use in this function)
chan_capi.c: In function `mkif':
chan_capi.c:4279: error: invalid application of `sizeof' to incomplete type `capi_pvt'
chan_capi.c:4283: error: invalid application of `sizeof' to incomplete type `capi_pvt'
chan_capi.c:4285: error: dereferencing pointer to incomplete type
chan_capi.c:4288: error: dereferencing pointer to incomplete type
chan_capi.c:4288: error: dereferencing pointer to incomplete type
chan_capi.c:4289: error: dereferencing pointer to incomplete type
chan_capi.c:4291: error: dereferencing pointer to incomplete type
chan_capi.c:4291: error: dereferencing pointer to incomplete type
chan_capi.c:4292: error: dereferencing pointer to incomplete type
chan_capi.c:4294: error: dereferencing pointer to incomplete type
chan_capi.c:4294: error: dereferencing pointer to incomplete type
chan_capi.c:4295: error: dereferencing pointer to incomplete type
chan_capi.c:4295: error: dereferencing pointer to incomplete type
chan_capi.c:4296: error: dereferencing pointer to incomplete type
chan_capi.c:4296: error: dereferencing pointer to incomplete type
chan_capi.c:4297: error: dereferencing pointer to incomplete type
chan_capi.c:4297: error: dereferencing pointer to incomplete type
chan_capi.c:4298: error: dereferencing pointer to incomplete type
chan_capi.c:4298: error: dereferencing pointer to incomplete type
chan_capi.c:4299: error: dereferencing pointer to incomplete type
chan_capi.c:4299: error: dereferencing pointer to incomplete type
chan_capi.c:4329: error: dereferencing pointer to incomplete type
chan_capi.c:4331: error: dereferencing pointer to incomplete type
chan_capi.c:4332: error: dereferencing pointer to incomplete type
chan_capi.c:4333: error: dereferencing pointer to incomplete type
chan_capi.c:4334: error: dereferencing pointer to incomplete type
chan_capi.c:4335: error: dereferencing pointer to incomplete type
chan_capi.c:4336: error: dereferencing pointer to incomplete type
chan_capi.c:4337: error: dereferencing pointer to incomplete type
chan_capi.c:4338: error: dereferencing pointer to incomplete type
chan_capi.c:4339: error: dereferencing pointer to incomplete type
chan_capi.c:4340: error: dereferencing pointer to incomplete type
chan_capi.c:4341: error: dereferencing pointer to incomplete type
chan_capi.c:4342: error: dereferencing pointer to incomplete type
chan_capi.c:4344: error: dereferencing pointer to incomplete type
chan_capi.c:4346: error: dereferencing pointer to incomplete type
chan_capi.c:4347: error: dereferencing pointer to incomplete type
chan_capi.c:4348: error: dereferencing pointer to incomplete type
chan_capi.c:4350: error: dereferencing pointer to incomplete type
chan_capi.c:4352: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c:4360: error: dereferencing pointer to incomplete type
chan_capi.c: In function `supported_sservices':
chan_capi.c:4372: error: `MESSAGE_EXCHANGE_ERROR' undeclared (first use in this function)
chan_capi.c:4372: error: syntax error before "error"
chan_capi.c:4373: error: `_cmsg' undeclared (first use in this function)
chan_capi.c:4379: error: `CMSG' undeclared (first use in this function)
chan_capi.c:4380: error: invalid lvalue in assignment
chan_capi.c:4381: error: invalid lvalue in assignment
chan_capi.c:4383: error: `_cstruct' undeclared (first use in this function)
chan_capi.c:4390: error: `error' undeclared (first use in this function)
chan_capi.c:4391: error: `CMSG2' undeclared (first use in this function)
chan_capi.c:4393: warning: implicit declaration of function `IS_FACILITY_CONF'
chan_capi.c:4408: error: subscripted value is neither array nor pointer
chan_capi.c:4409: error: subscripted value is neither array nor pointer
chan_capi.c:4413: error: subscripted value is neither array nor pointer
chan_capi.c: In function `cc_init_capi':
chan_capi.c:4576: warning: implicit declaration of function `capi20_isinstalled'
chan_capi.c:4581: warning: implicit declaration of function `capi20_register'
chan_capi.c:4593: warning: implicit declaration of function `capi20_get_profile'
chan_capi.c: In function `unload_module':
chan_capi.c:4998: warning: implicit declaration of function `capi20_release'
chan_capi.c:5011: error: dereferencing pointer to incomplete type
chan_capi.c:5014: error: dereferencing pointer to incomplete type
make: *** [chan_capi.o] Error 1
[root@asterisk1 chan_capi-cm-0.6.5]#

A@H ist nicht wirklich per DU mit ISDN aber wenn jemand trotzdem sich damit auseinandergesetzt hat wäre ich für einen kleinen Tip echt dankbar.

Grüße

ROND
 
Das sieht so aus als ob das DEV Paket von libcapi fehlt (also die header Dateien).

Armin
 
Hey super tausend dank, hat alles wunderbar funktioniert!

es müssen jedoch wie schon oben erwähnt die Berechtigungen der Datei /dev/capi20 auf 777 geändert werden!

Gruß
ROND
 
Habe Heute neue Beta-Treiber von Gerdes zugeschickt bekommen die ich morgen mal ausprobieren werde. Ich halte Euch wieder auf dem Laufenden.

Gruß
 
[gelöst]

Hallo,

der Beta-Treiber der mir von Gerdes zugesendet wurde funktioniert.

Hier eine kleine Anleitung wie man mit A@H 2.8 ans ziel kommt:

1. A@H 2.8 installieren
2. Gerdes Beta-Treiber installieren. (wenn benötigt email an [email protected] , Endgültige Version des TReibers soll demnächst auch veröffentlicht werden)
3. ccapicfg ausführen ( /usr/lib/primux/) und die Karte in den richtigen Modus bringen (ptp oder ptmp)
4. chan_capi-cm downloaden von chan-capi.org und installieren
5. Anmerkung: das Asterisk von A@H startet nicht beim reboot. Das hat folgenden Grund. Der Capi-Treiber von Gerdes wird sehr spät initialisiert. So spät das * schon versucht zu starten bevor der Treiber verfügbar ist. Das veranlasst * abzubrechen. Ich starte zur Zeit * immer manuell mit amportal restart. Ich arbeite an einer Lösung das Problem zu umgehen.
6. In der extensions.conf kann man nun einen abschnit [capi-in] anlegen und dann dort die Eingehenden Verbindungen angeben.

Beispiel:.
exten => <msn oder did+durchwahl>,1,Dial(SIP/51,60) ;hier wird wenn von Aussen die MSN gewählt wird der sip-Apparat mit der nummer 51 durchgestellt und wenn nach 60 sekunden niemand ran gegangen ist aufgelegt.
exten => <msn oder did+durchwahl>,2,Congestion
exten => <msn oder did+durchwahl>,102,Busy

7. Um ausgehende Anrufe tätigen zu können muss eine "besondere Hauptleitung" angelegt werden. Dort muss unter den Punkten Wahlregel "0|." ohne die "" angegeben werden ( die 0 gibt an das eine 0 gewählt werden muss um raus zu kommen) und unter Hauptkanalfolge "CAPI/contr1/$OUTNUM$/b" wieder ohne die "". Wie das mit mehreren Controllern aussieht weis ich leider nicht. Bin aber auch gerade noch am tüfteln damit er halt alle 4 b-Kanäle meiner Karte benutzt.
8. Nun braucht ihr noch eure Outbounds zu konfigurieren und dann sollte es klappen.

Mal schauen wie ich damit weiter komme, Die einträge in der extension.conf hätte ich eigendlich schon gerne in FreePBX gemacht, aber irgendwie will das nicht so wie ich will.

Danke nochmal an Armin und dem Gerdes-Support für die Schnelle und gute Hilfe.
 
Zuletzt bearbeitet:
Hallo,

hier nun ein kleines Howto um den Gerdes-Treiber vor dem Asterisk zu starten.
Und zwar muss der Eintrag in der /etc/inittab, der dafür zuständig ist den Standardtreiber zu laden, auskommentiert und das Startscript des Treibers als /etc/rc3.d/S93runcapi.rc gelinkt werden. Somit wird der Capi-Treiber vor dem * geladen.

Gruß
 
primuxS20

hallo zusammen
meine frage ist ich kann die Primux S20 nicht in NT-mods betreiben beide S0 als TE-mods laufen schon aber als ich eine als NT-mods und die andere als TE-mods konfiguriert funktioniert die als TE-mods ohne Problem aber die als NT-mods keine bewegung bei dem Endgerät ist keine signal ich habe das Endgerät in eine NTBA angeschlossen auch bringt nicht
kann sein das die PrimuxS2O nur als TE-mods läuft ?
kann jemand mir einen kleinen Tip geben

meine capi.conf schaut so aus

;
; CAPI config
;
;

; general section

[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8
language=de ;set default language
;ulaw=yes ;set this, if you live in u-law world instead of a-law

[ISDN1] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
ntmode=yes ;if isdn card operates in nt mode, set this to yes
isdnmode=did ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123 ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
;controller=0 ;ISDN4BSD default
;controller=7 ;ISDN4BSD USB default
controller=1 ;capi controller number to use
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=off ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=off ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode= ;Asterisk accountcode to use in CDRs
context=capi-in ;context for incoming calls
;holdtype=hold ;when Asterisk puts the call on hold, ISDN HOLD will be used. If
;set to 'local' (default value), no hold is done and Asterisk may
;play MOH.
;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
echocancel=yes ;EICON DIVA SERVER (CAPI) echo cancelation
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
;echocancelold=yes ;use facility selector 6 instead of correct 8
;echotail=64 ;echo cancel tail setting
bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;language=de ;set language for this device (overwrites default language)
devices=2 ;number of concurrent calls on this controller
;(2 makes sense for single BRI, 30 for PRI)




[ISDN2] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
;ntmode=yes ;if isdn card operates in nt mode, set this to yes
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123 ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
;controller=0 ;ISDN4BSD default
;controller=7 ;ISDN4BSD USB default
controller=2 ;capi controller number to use
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=off ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=off ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode= ;Asterisk accountcode to use in CDRs
context=capi-in ;context for incoming calls
;holdtype=hold ;when Asterisk puts the call on hold, ISDN HOLD will be used. If
;set to 'local' (default value), no hold is done and Asterisk may
;play MOH.

;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for SENDING-COMPLETE.
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or NDING-COMPLETE.
;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression
echocancel=yes ;EICON DIVA SERVER (CAPI) echo cancelation
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
echocancelold=yes ;use facility selector 6 instead of correct 8 (necessary for older eicon

;echotail=64 ;echo cancel tail setting
bridge=yes ;native bridging (CAPI line interconnect) if available
;callgroup=1 ;Asterisk call group
;language=de ;set language for this device (overwrites default language)
devices=2 ;number of concurrent calls on this controller
;(2 makes sense for single BRI, 30 for PRI)
 
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.