Hallo,
ich kämpfe seit geraumer Zeit mit folgendem Problem: Erreichen von Durchwahlnummern am Anlagenanschluß von nicht blockwahlfähigen Telefonen.
Das Thema wurde hier schon öfters diskutiert, nur leider konnte ich dadurch mein Problem nicht lösen.
Mein Fehler liegt wohl eher in der Konfiguration der Diva Karte bzw. des capi Treibers.
Meine Konfig sieht folgendermaßen aus:
Trixbox ce 2.6.2
Eicon Diva 4BRI
Diva4Linux 9.0-108-38
CAPI mit chan_capi 1.1.2
Anlagenanschluß mit Rufnummernblock 0 - 59 und drei NTBA's
Als einstellige Durchwahl gibt es nur die 0 für die Zentrale. Die Nummern der restlichen Extensions sind alle zweistellig. Die Kopfnummer ist fünfstellig.
Wenn man nun von einem analogen Telefon aus eine der zweistelligen Durchwahlen anwählt, dann bekommt man eine Ansagen, daß die Nummer nicht vergeben ist.
Zuerst dachte ich, es wär ein Fehler im Dialplan, aber wenn ich mir die Logs anschaue, dann sehe ich, daß die vollständige Nummer erst garnicht bis in den Dialplan kommt. Es wird vom CAPI nur die erste Stelle der Durchwahl übermittelt.
Hier ein Beispiel auf die Nebenstelle 33:
Wenn ich versuche das Problem über "TIMEOUT" und "WaitExten" zu lösen, dann sieht der Call so aus (hier wird die NS 59 angerufen):
Meine capi.conf sieht so aus:
Und hier der entsprechende Eintag in der extension_custom.conf:
Hat jemand eine Idee, wie ich den CAPI dazu bringe die Nummern einfach durch zu reichen und die Asterisk davon abhalte den Call gleich anzunehmen?
Gruß
Flo
ich kämpfe seit geraumer Zeit mit folgendem Problem: Erreichen von Durchwahlnummern am Anlagenanschluß von nicht blockwahlfähigen Telefonen.
Das Thema wurde hier schon öfters diskutiert, nur leider konnte ich dadurch mein Problem nicht lösen.
Mein Fehler liegt wohl eher in der Konfiguration der Diva Karte bzw. des capi Treibers.
Meine Konfig sieht folgendermaßen aus:
Trixbox ce 2.6.2
Eicon Diva 4BRI
Diva4Linux 9.0-108-38
CAPI mit chan_capi 1.1.2
Anlagenanschluß mit Rufnummernblock 0 - 59 und drei NTBA's
Als einstellige Durchwahl gibt es nur die 0 für die Zentrale. Die Nummern der restlichen Extensions sind alle zweistellig. Die Kopfnummer ist fünfstellig.
Wenn man nun von einem analogen Telefon aus eine der zweistelligen Durchwahlen anwählt, dann bekommt man eine Ansagen, daß die Nummer nicht vergeben ist.
Zuerst dachte ich, es wär ein Fehler im Dialplan, aber wenn ich mir die Logs anschaue, dann sehe ich, daß die vollständige Nummer erst garnicht bis in den Dialplan kommt. Es wird vom CAPI nur die erste Stelle der Durchwahl übermittelt.
Hier ein Beispiel auf die Nebenstelle 33:
Code:
== ISDN3#02: Incoming call '0123456789' -> '123453'
-- ISDN3#02: Updated channel name: CAPI/ISDN3#02/123453-5f
-- Executing [123453@from-pstn:1] Set("CAPI/ISDN3#02/123453-5f", "__FROM_DID=123453") in new stack
-- Executing [123453@from-pstn:2] NoOp("CAPI/ISDN3#02/123453-5f", "Received an unknown call with DID set to 123453") in new stack
-- Executing [123453@from-pstn:3] Goto("CAPI/ISDN3#02/123453-5f", "s|a2") in new stack
-- Goto (from-pstn,s,2)
-- Executing [s@from-pstn:2] Answer("CAPI/ISDN3#02/123453-5f", "") in new stack
== ISDN3#02: Answering for 123453
-- Executing [s@from-pstn:3] Wait("CAPI/ISDN3#02/123453-5f", "2") in new stack
-- Executing [s@from-pstn:4] Playback("CAPI/ISDN3#02/123453-5f", "ss-noservice") in new stack
-- <CAPI/ISDN3#02/123453-5f> Playing 'ss-noservice' (language 'de')
-- Executing [s@from-pstn:5] SayAlpha("CAPI/ISDN3#02/123453-5f", "123453") in new stack
-- <CAPI/ISDN3#02/123453-5f> Playing 'digits/1' (language 'de')
-- <CAPI/ISDN3#02/123453-5f> Playing 'digits/2' (language 'de')
-- <CAPI/ISDN3#02/123453-5f> Playing 'digits/3' (language 'de')
-- <CAPI/ISDN3#02/123453-5f> Playing 'digits/4' (language 'de')
-- <CAPI/ISDN3#02/123453-5f> Playing 'digits/5' (language 'de')
-- <CAPI/ISDN3#02/123453-5f> Playing 'digits/3' (language 'de')
-- Executing [s@from-pstn:6] Hangup("CAPI/ISDN3#02/123453-5f", "") in new stack
== Spawn extension (from-pstn, s, 6) exited non-zero on 'CAPI/ISDN3#02/123453-5f'
-- Executing [h@from-pstn:1] Hangup("CAPI/ISDN3#02/123453-5f", "") in new stack
== Spawn extension (from-pstn, h, 1) exited non-zero on 'CAPI/ISDN3#02/123453-5f'
== ISDN3#02: CAPI Hangingup for PLCI=0xc03 in state 2
> ISDN3#02: CAPI INFO 0x3490: Normal call clearing
Wenn ich versuche das Problem über "TIMEOUT" und "WaitExten" zu lösen, dann sieht der Call so aus (hier wird die NS 59 angerufen):
Code:
== ISDN2#02: Incoming call '0123456789' -> '123455'
-- ISDN2#02: Updated channel name: CAPI/ISDN2#02/123455-5a
-- Executing [123455@from-pstn:1] Set("CAPI/ISDN2#02/418055-5a", "TIMEOUT(digit)=2") in new stack
-- Digit timeout set to 2
-- Executing [123455@from-pstn:2] WaitExten("CAPI/ISDN2#02/418055-5a", "5") in new stack
-- ISDN2#02: Updated channel name: CAPI/ISDN2#02/1234559-5b
== CDR updated on CAPI/ISDN2#02/1234559-5b
-- Executing [9@from-pstn:1] Set("CAPI/ISDN2#02/1234559-5b", "TIMEOUT(digit)=2") in new stack
-- Digit timeout set to 2
-- Executing [9@from-pstn:2] WaitExten("CAPI/ISDN2#02/1234559-5b", "5") in new stack
-- Timeout on CAPI/ISDN2#02/1234559-5b, continuing...
-- Executing [9@from-pstn:3] Set("CAPI/ISDN2#02/1234559-5b", "CALLER=00712771577") in new stack
-- Executing [9@from-pstn:4] SetCallerID("CAPI/ISDN2#02/1234559-5b", "00712771577") in new stack
== Auto fallthrough, channel 'CAPI/ISDN2#02/1234559-5b' status is 'UNKNOWN'
-- Executing [h@from-pstn:1] SetPI/ISDN2#02/1234559-5b", "TIMEOUT(digit)=2") in new stack
-- Digit timeout set to 2
-- Executing [h@from-pstn:2] WaitExten("CAPI/ISDN2#02/1234559-5b", "5") in new stack
== Spawn extension (from-pstn, h, 2) exited non-zero on 'CAPI/ISDN2#02/1234559-5b'
== ISDN2#02: CAPI Hangingup for PLCI=0x802 in state 7
> ISDN2#02: CAPI INFO 0x3490: Normal call clearing
Meine capi.conf sieht so aus:
Code:
;
; 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
; 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=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=* ;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=from-pstn ;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=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=* ;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=from-pstn ;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)
[ISDN3] ;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=* ;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=3 ;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=from-pstn ;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)
[ISDN4] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
ntmode=no ;if isdn card operates in nt mode, set this to yes
isdnmode=DID
;when using NT-mode, 'DID' should be set in any case
incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=* ;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=4 ;capi controller number to use
group=2 ;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=from-pstn ;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 controlle
;(2 makes sense for single BRI, 30 for PRI)
Und hier der entsprechende Eintag in der extension_custom.conf:
Code:
[from-pstn-custom]
exten => _.,1,Set(TIMEOUT(digit)=2)
exten => _.,2,WaitExten(5)
exten => _.,3,Set(CALLER=0${CALLERID(num)})
exten => _.,4,SetCallerID(${CALLER})
Hat jemand eine Idee, wie ich den CAPI dazu bringe die Nummern einfach durch zu reichen und die Asterisk davon abhalte den Call gleich anzunehmen?
Gruß
Flo