Sofortiges "CAPI Hangingup" bei Incoming Call

Schmidmajer

Neuer User
Mitglied seit
24 Mai 2007
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hallo Zusammen

Das Problem wurde hier im Forum zwar schon mal angesprochen, bei mir führten die Lösungsansätze jedoch nicht zur Problembehebung.

Ich habe eine FritzCard!PCI v2.1 eingebaut und versuche nun Anrufe darüber entgegenzunehmen. Die Treiber und Konfigurationsfiles sind alle gemäss der Anleitung, welche hier auf dem Board zu finden ist, erstellt und konfiguriert.

Bei einem eingehenden Anruf ist mit asterisk -vvvvvr folgendes ersichtlich:
Code:
  == ISDN1#02: Incoming call '5884' -> '7030'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 4
Er hängt also sofort wieder auf, bevor das SIP-Telefon (Extension 200) überhaupt zum klingeln kommt.

Ich benutze folgendes:
Trixbox 2.4.2
CentOS 5 (Kernel 2.6.18-53.1.4.el5)
Asterisk 1.4.17-1
fcpci-kmdl-2.6.18-53.1.4.el5-03.11.14.el5
chan_capi-1.0.2

Die Konfigurationsfiles sehen wie folgt aus:

/etc/asterisk/capi.conf
Code:
;
; CAPI config
;
;

; general section

[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0       ;linear receive gain (1.0 = no change)
txgain=1.0       ;linear transmit gain (1.0 = no change)
language=de      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.


; interface sections ...

[ISDN1]          ;this example interface gets name 'ISDN1' and may be any
                 ;name not starting with 'g' or 'contr'.
                 ;Use one interface section for each isdn port!
;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=1     ;capi controller number of this interface/port
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
faxdetect=off    ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
                 ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
accountcode=     ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
context=capi-in  ;context for incoming calls
;holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX 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 (yes=g165)
                 ;(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 (default=0 for maximum)
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
                 ;incorporate variable gain in the signal path.
;bridge=yes      ;native bridging (CAPI line interconnect) if available
;callgroup=1     ;PBX call group
;pickupgroup=1   ;PBX pickup group (which call groups are we allowed to pickup)
;language=de     ;set language for this device (overwrites default language)
;disallow=all    ;RTP codec selection (valid with Eicon DIVA Server only)
;allow=all       ;RTP codec selection (valid with Eicon DIVA Server only)
devices=2        ;number of concurrent calls (b-channels) on this controller
                 ;(2 makes sense for single BRI, 30/23 for PRI/T1)
;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
;qsig=1           ;enable use of Q.SIG extensions. ECMA Variant
;qsig_prnum=1234  ;enable inbound bridging - this should be an QSIG-network-wide unique number

/etc/asterisk/extensions_custom.conf
Code:
; This file contains example extensions_custom.conf entries.
; extensions_custom.conf should be used to include customizations
; to AMP's Asterisk dialplan.

; All custom context should contain the string 'custom' in it's name 

; Extensions in AMP have access to the 'from-internal' context.
; The context 'from-internal-custom' is included in 'from-internal' by default

#include extensions_hud.conf

[from-internal-custom]

;1234,1,Playback(demo-congrats)		; extensions can dial 1234
;1234,2,Hangup()
;h,1,Hangup()
;include => custom-recordme			; extensions can also dial 5678

; custom-count2four,s,1 can be used as a custom target for
; a Digital Receptionist menu or a Call Group
;[custom-count2four]		
;s,1,SayDigits(1234)
;s,2,Hangup

; custom-recordme,5678,1 can be used as a custom target for
; a Digital Receptionist menu or a Call Group
;[custom-recordme]
;exten => 5678,1,Wait(2)
;exten => 5678,2,Record(/tmp/asterisk-recording:gsm)
;exten => 5678,3,Wait(2)
;exten => 5678,4,Playback(/tmp/asterisk-recording)
;exten => 5678,5,Wait(2)
;exten => 5678,6,Hangup 

[custom-meetme3]
exten => s,1,Answer
exten => s,n,Wait(3)
exten => s,n,CBMysql()
exten => s,n,Hangup

[capi-in]
include => from-pstn

/etc/asterisk/modules.conf
Code:
;
; Asterisk configuration file
;
; Module Loader configuration file
;

[modules]
autoload=yes
;
; If you want, load the GTK console right away.  
; Don't load the KDE console since
; it's not as sophisticated right now.
;
noload => pbx_gtkconsole.so
;load => pbx_gtkconsole.so
noload => pbx_kdeconsole.so
;
; Intercom application is obsoleted by
; chan_oss.  Don't load it.
;
noload => app_intercom.so
;
; DON'T load the chan_modem.so, as they are obsolete in * 1.2

noload => chan_modem.so
noload => chan_modem_aopen.so
noload => chan_modem_bestdata.so
noload => chan_modem_i4l.so

; Trunkisavail is a broken module supplied by Trixbox
noload => app_trunkisavail.so

; Ensure that format_* modules are loaded before res_musiconhold
;load => format_ogg_vorbis.so
load => format_wav.so
load => format_pcm.so
load => format_au.so
; This isn't part of 'asterisk' iteslf, it's part of asterisk-addons. If this isn't
; installed, asterisk will fail to start. But it does need to go here for native MOH
; to work using mp3's. 
load => format_mp3.so
load => res_musiconhold.so
;
; Load either OSS or ALSA, not both
; By default, load OSS only (automatically) and do not load ALSA
;
noload => chan_alsa.so
noload => chan_oss.so
;
; Module names listed in "global" section will have symbols globally
; exported to modules loaded after them.
;
[global]
chan_capi.so=yes

load => chan_capi.so

Hat jemand eine Idee, was ich noch probieren oder an was es liegen könnte.

Ich bin für jeden Input dankbar.

Vielen Dank und einen schönen Tag.

Gruss,
Paul
 
Zuletzt bearbeitet:
Nachmals dasselbe Problem... diesmal keine Lösung

So, ich hab das Ganze zuhause an meiner privaten Trixbox durchgeführt und dort passiert genau das gleiche - jedoch kommt erst nach etwa 5 Sekunden die Meldung mit dem Hangingup.

Code:
  == ISDN1#02: Incoming call '079*******' -> '1'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 4

Die Inbound Routes hab ich aber diesmal definiert - 1:1 vom Trixbox im Büro übernommen, wo es auch tadellos funktioniert.
Einziger Unterschied ist, das ich hier Zuhause eine FritzCard 2.0 und im Büro eine 2.1 habe - und natürlich ist hier auch keine Telefonanlage dahinter.

Das Raustelefonieren funktioniert problemlos...

Wäre also für eure Hilfe dankbar.
 
hallo Schmidmajer,

konntest du eine loesung fuer das problem finden? ich habe hier das gleiche problem, auf einem rechner wird nach 5s capi hangup ausgefuehrt, beim anderen klappts.
ich habe auf beiden asterisk 1.4.18 mit chan_capi 1.0.2 unter debian 4.0

schon seltsam
thomas
 
guten morgen,

ich hoffe jetzt nicht ein einen fehler zu machen, indem ich zuschnell auf mich selbst antworte :p

ich habe von armin schindler von melware bzgl chan_capi erhalten.

die loesung lautet:

================================================
> exten => 4614xxxx,1,Wait(10)
> > exten => 4614xxxx,n,Answer()
> > exten => 4614xxxx,n,Wait(1)
> > exten => 4614xxxx,n,VoiceMail(52,su)
> >
> >
> > any ideas?

Yes, your wait(10) is too long for the switch. There is a timeout of about 4
seconds where the switch waits for a response of any phone. So if you want
to wait longer, you need to change that timeout. This can be done easily
with
exten => 123456,1,Ringing
where the timeout is changed from 4 seconds to 120 seconds.
After that, you can Wait(10) or longer.
================================================

thread sollte hier gelistet werden, wenn die mailingliste aktualisiert wurd.
http://lists.melware.net/pipermail/chan-capi-users/2008-March/thread.html

der thread lautet: "CAPI Hangingup for PLCI=0xdead0000 in state 4"

viele gruesse
thomas
 
Hallo

Vielen Dank für deine Hilfe.

Es funktioniert jetzt. Ich habe die folgenden Anpassungen durchgeführt:

extensions_additional.conf (Die beiden roten Zeilen entfernt)

Code:
[ext-did-catchall]
include => ext-did-catchall-custom
[COLOR="Red"]exten => _X.,1,Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.)
exten => _X.,n,Goto(ext-did,s,1)[/COLOR]

extensions_custom.conf (Folgende Einträge neu hinzugefügt)

Code:
[ext-did-catchall-custom]
exten => _.,1,Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.)
exten => _.,n,Goto(ext-did,s,1)

Dies deshalb, weil Änderungen in der _additional.conf nach einem Neustart des Systems überschrieben werden, nicht aber in der _custom.conf.

Nun zur Lösungserklärung. Das Suffix "_X." wartet auf mindestens zwei Ziffern. Da in diesem Falle aber nur eine Ziffer gesendet wird, muss es auf "_." angepasst werden.
 

Neueste Beiträge

Statistik des Forums

Themen
244,899
Beiträge
2,220,484
Mitglieder
371,637
Neuestes Mitglied
Owenwilliam
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.