Suche stabile Konfiguration für Eicon Diva Server 4Bri

lotus-eater

Neuer User
Mitglied seit
25 Sep 2005
Beiträge
24
Punkte für Reaktionen
0
Punkte
1
Ich hab unter anderem folgendes Problem:

Wenn ich mit einem internen Telefon über ISDN rauswähle wird ein Besetztzeichnen signalisiert, obwohl das angerufene Telefon klingelt. Geht jemand an das Telefon kann er auch den Anrufer hören, aber der Anrufer hört weiterhin nur das Besetztzeichen.
Mit einem SIP-Client ist wird alles richtig signalisiert.

Ich habe schon den Debian Kernel 2.6.8-3-k7 mit aktuellsten eicon Treibern und chan-capi 0.7.1 ausprobiert. Bin dann aber auf den Treiber von melware umgestiegen (3.0.5-106.704-1), da dieser nicht die Kernel-Sourcen patcht.
Mit Kernel 2.6.19.1 kompiliert der Treiber nicht, weil er die linux/config.h nicht findet, deswegen habe ich Kernel 2.6.9 jetzt am laufen. Als letzte Kombination hab ich jetzt chan_capi-cm 0.6.5 getestet, aber auch ohne erfolg. Achja ich benutze noch die libcapi20 in der Version 2.

Es wird mir diese Fehler gemeldet:
Code:
Dec 19 18:37:40 WARNING[12333]: chan_capi.c:3452 show_capi_conf_error: eicon1: conf_error 0x2001 PLCI=0x101 Command=SELECT_B_PROTOCOL_CONF,0x8495
       > CAPI INFO 0x2001: Message not supported in current state
       > CAPI INFO 0x3490: Normal call clearing

Ich weiß leider nicht wo ich ansetzten soll, kann mir jemand weiterhelfen?
 
lotus-eater schrieb:
Bin dann aber auf den Treiber von melware umgestiegen (3.0.5-106.704-1),

Unter /capi-utils/ gibt es auf dem Melware ftp Server auch die angepasste libcapi20.

Stefan
 
Danke, werde ich gleich mal ausprobieren.
 
Die libcapi20 sollte hier keinen Einfluss haben.
Bei der Fehlermeldung geht ich davon aus, dass es sich hier um den port im NT-mode handelt, aber mehr kann man nur sagen, wenn du ein log mit
set verbose 5
capi debug
des kompletten Calls erzeugst.
Falls Du den Port1 auf NT hast, solltest Du das aendern. Sobald du einen Port im TE-mode am Amt hast, sollte dies der Port 1 sein. Damit ist Clock-Synchronisation
gewaehrleistet. Das hat zwar nichts mit deinem Problem zu tun, aber es koennte beim Line-Interconnect Probleme machen.
Ach ja, deine capi.conf von chan-capi waere noch wichtig.

Armin
 
So. Danke für deine Antwort. Ich hab jetzt an Port1 und Port2 das Amt und an Port3 die Telefonanlage.

Hier die capi.conf
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 ...

[eicon1]
ntmode=no
isdnmode=MSN
incomingmsn=*
controller=1
group=1
softdtmf=off
relaxdtmf=off
faxdetect=incoming
context=capi-in
;immediate=yes
echocancel=yes
echocancelold=no
bridge=yes
devices=2

[eicon2]
ntmode=no
isdnmode=MSN
incomingmsn=*
controller=2
group=1
softdtmf=off
relaxdtmf=off
faxdetect=incoming
context=capi-in
;immediate=yes
echocancel=yes
echocancelold=no
bridge=yes
devices=2

[eicon3]
ntmode=yes              ;*
isdnmode=DID            ;*
incomingmsn=*
controller=3            ;*
group=2                 ;*
softdtmf=off
relaxdtmf=off
faxdetect=off           ;*
context=test          ;*
;immediate=yes          ;*
echocancel=yes
echocancelold=no
bridge=yes
devices=2

[eicon4]
ntmode=no
isdnmode=MSN
incomingmsn=*
controller=4
group=3
softdtmf=off
relaxdtmf=off
faxdetect=incoming
context=capi-in
;immediate=yes
echocancel=yes
echocancelold=no
bridge=yes
devices=2

Ich konnte des Problem mit dem Besetztzeichen bei einem angenommen Anruf nicht reproduzieren. Was ja eigentlich ganz gut ist, leider kann ich so den Fehler nicht bestimmen ;)

Trotzdem finde ich keine saubere Konfiguration. Ich brauch eine "s" Extension, da an der Telefonanlage nur Analogtelefone hängen, bei denen man die Telefonnummer nicht vorher eingeben kann.

Zum Testen arbeite ich momentan mit folgendem Kontext in der extensions.conf:
Code:
[test]
exten => s,1,Answer
exten => s,2,Playback(beep)
exten => s,3,Set(TIMEOUT(digit)=5)
exten => s,4,WaitExten(10)

exten => _2X,1,Dial(CAPI/eicon3/${EXTEN}/b)   ; interne Telefone
exten => _3X,1,Dial(SIP/${EXTEN}||Tr)    ; SIP-Clients
exten => _9X.,1,Dial(CAPI/eicon1/${EXTEN:1}/b)
exten => _0X.,1,Dial(SIP/${EXTEN:1}@SSSSSS-out||Tr)

Zusätzlich zu der Anlage hab ich noch ein ISDN Telefon an eicon3.

Schalte ich immediate für eicon3 ab, springt asterisk nicht in die s Extension, sondern, nachdem man eine Nummer gewählt hat, direkt in die entsprechende Extension. Ein Rufzeichen ist bei einer Verbindung über SIP und Amt hörber aber nicht bei einer internen Verbindung über eicon3.

Mit eingeschalteten immediate springt asterisk in die s Extension, wenn der Hörer abgenommen wird. Aber wenn ich am ISDN Telefon eine Nummer eingebe und danach den Hörer abnehme springt asterisk auch in die s Extension und die Nummer wird nicht beachtet. Diesmal kein Rufton bei Wahl über eicon3, Sip-Clients, und Sip-Extern zu hören, wenigstens geht eicon1 noch.

Hier für eingeschalteten immediate eine interner Anruf (verbose 5 und capi debug) :
Code:
*CLI> set verbose 5
Verbosity is at least 5
*CLI> capi debug
CAPI Debugging Enabled
CONNECT_IND ID=001 #0x1813 LEN=0039
  Controller/PLCI/NCCI            = 0x203
  CIPValue                        = 0x10
  CalledPartyNumber               = default
  CallingPartyNumber              = <01 80>21
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BC                              = <80 90 a3>
  LLC                             = default
  HLC                             = <91 81>
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- CONNECT_IND (PLCI=0x203,DID=,CID=21,CIP=0x10,CONTROLLER=0x3)
  == eicon3#02: setting format alaw - 0x8 (alaw)
  == eicon3#02: Incoming call '21' -> ''
INFO_IND ID=001 #0x1814 LEN=0021
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x28
  InfoElement                     = LINK<3d>0

INFO_RESP ID=001 #0x1814 LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element DSP
INFO_IND ID=001 #0x1815 LEN=0016
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x18
  InfoElement                     = <81>

INFO_RESP ID=001 #0x1815 LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element CHANNEL IDENTIFICATION 81
INFO_IND ID=001 #0x1816 LEN=0015
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x8005
  InfoElement                     = default

INFO_RESP ID=001 #0x1816 LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element SETUP
    -- eicon3#02: CAPI/eicon3/-14: s matches in context test for immediate
    -- eicon3#02: CAPI/eicon3/-14: s matches in context test
    -- Executing Answer("CAPI/eicon3/-14", "") in new stack
  == eicon3#02: Answering for
CONNECT_RESP ID=001 #0x1813 LEN=0034
  Controller/PLCI/NCCI            = 0x203
  Reject                          = 0x0
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  ConnectedNumber                 = default
  ConnectedSubaddress             = default
  LLC                             = default
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- Executing Playback("CAPI/eicon3/-14", "beep") in new stack
    -- Playing 'beep' (language 'de')
  == Started pbx on channel CAPI/eicon3/-14
       > CAPI devicestate requested for eicon3/
       > CAPI devicestate requested for eicon3/
INFO_IND ID=001 #0x1817 LEN=0015
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x800f
  InfoElement                     = default

INFO_RESP ID=001 #0x1817 LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element CONNECT ACK
CONNECT_ACTIVE_IND ID=001 #0x1819 LEN=0015
  Controller/PLCI/NCCI            = 0x203
  ConnectedNumber                 = default
  ConnectedSubaddress             = default
  LLC                             = default

CONNECT_ACTIVE_RESP ID=001 #0x1819 LEN=0012
  Controller/PLCI/NCCI            = 0x203

CONNECT_B3_IND ID=001 #0x181a LEN=0013
  Controller/PLCI/NCCI            = 0x190203
  NCPI                            = default

CONNECT_B3_RESP ID=001 #0x181a LEN=0015
  Controller/PLCI/NCCI            = 0x190203
  Reject                          = 0x0
  NCPI                            = default

CONNECT_B3_ACTIVE_IND ID=001 #0x181b LEN=0013
  Controller/PLCI/NCCI            = 0x190203
  NCPI                            = default

CONNECT_B3_ACTIVE_RESP ID=001 #0x181b LEN=0012
  Controller/PLCI/NCCI            = 0x190203

  == eicon3#02: Setting up echo canceller (PLCI=0x203, function=1, options=4, tail=0)
FACILITY_REQ ID=001 #0x08b1 LEN=0024
  Controller/PLCI/NCCI            = 0x203
  FacilitySelector                = 0x8
  FacilityRequestParameter        = <01 00 06 04 00 00 00 00 00>

  == eicon3#02: Setting up DTMF detector (PLCI=0x203, flag=1)
FACILITY_REQ ID=001 #0x08b2 LEN=0023
  Controller/PLCI/NCCI            = 0x203
  FacilitySelector                = 0x1
  FacilityRequestParameter        = <01 00>P<00>P<00 00 00>

FACILITY_CONF ID=001 #0x08b1 LEN=0022
  Controller/PLCI/NCCI            = 0x203
  Info                            = 0x0
  FacilitySelector                = 0x8
  FacilityConfirmationParameter   = <01 00 02 00 00>

    -- eicon3#02: Echo canceller successfully set up (PLCI=0x203)
FACILITY_CONF ID=001 #0x08b2 LEN=0019
  Controller/PLCI/NCCI            = 0x203
  Info                            = 0x0
  FacilitySelector                = 0x1
  FacilityConfirmationParameter   = <00 00>

       > eicon3#02: DTMF conf(PLCI=0x203)
    -- Executing Set("CAPI/eicon3/-14", "TIMEOUT(digit)=5") in new stack
    -- Digit timeout set to 5
    -- Executing WaitExten("CAPI/eicon3/-14", "10") in new stack
FACILITY_IND ID=001 #0x188d LEN=0016
  Controller/PLCI/NCCI            = 0x203
  FacilitySelector                = 0x1
  FacilityIndicationParameter     = 2

FACILITY_RESP ID=001 #0x188d LEN=0016
  Controller/PLCI/NCCI            = 0x203
  FacilitySelector                = 0x1
  FacilityResponseParameters      = 2

       > eicon3#02: c_dtmf = 2
    -- CAPI queue frame: TYPE: DTMF (1) SUBCLASS: 2 (50) ] [eicon3#02]
FACILITY_IND ID=001 #0x189c LEN=0016
  Controller/PLCI/NCCI            = 0x203
  FacilitySelector                = 0x1
  FacilityIndicationParameter     = 2

FACILITY_RESP ID=001 #0x189c LEN=0016
  Controller/PLCI/NCCI            = 0x203
  FacilitySelector                = 0x1
  FacilityResponseParameters      = 2

       > eicon3#02: c_dtmf = 2
    -- CAPI queue frame: TYPE: DTMF (1) SUBCLASS: 2 (50) ] [eicon3#02]
  == CDR updated on CAPI/eicon3/-14
    -- Executing Dial("CAPI/eicon3/-14", "CAPI/eicon3/22/b") in new stack
       > data = eicon3/22/b format=8
       > parsed dialstring: 'eicon3' 'NULL' '22' 'b'
       > capi request for interface 'eicon3'
  == eicon3#01: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'eicon3' 'NULL' '22' 'b'
  == eicon3#01: Call CAPI/eicon3/22-15 with B3  (pres=0x00, ton=0x01)
CONNECT_REQ ID=001 #0x08c8 LEN=0050
  Controller/PLCI/NCCI            = 0x3
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>22
  CallingPartyNumber              = <01 80>21
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
   GlobalConfiguration            = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

    -- Called eicon3/22/b
       > CAPI devicestate requested for eicon3/22
       > CAPI devicestate requested for eicon3/22
CONNECT_CONF ID=001 #0x08c8 LEN=0014
  Controller/PLCI/NCCI            = 0x403
  Info                            = 0x0

    -- eicon3#01: received CONNECT_CONF PLCI = 0x403
INFO_IND ID=001 #0x18a1 LEN=0015
  Controller/PLCI/NCCI            = 0x403
  InfoNumber                      = 0x8001
  InfoElement                     = default

INFO_RESP ID=001 #0x18a1 LEN=0012
  Controller/PLCI/NCCI            = 0x403

    -- eicon3#01: info element ALERTING
CONNECT_B3_REQ ID=001 #0x08c9 LEN=0013
  Controller/PLCI/NCCI            = 0x403
  NCPI                            = default

    -- eicon3#01: sent CONNECT_B3_REQ PLCI=0x403
    -- CAPI queue frame: TYPE: Control (4) SUBCLASS: Unknown control '14' (14) ] [eicon3#01]
    -- CAPI queue frame: TYPE: Control (4) SUBCLASS: Ringing (3) ] [eicon3#01]
    -- CAPI/eicon3/22-15 is making progress passing it to CAPI/eicon3/-14
  == eicon3#02: Requested PROGRESS-Indication for CAPI/eicon3/-14
    -- CAPI/eicon3/22-15 is ringing
  == eicon3#02: Requested RINGING-Indication for CAPI/eicon3/-14
    -- eicon3#02: attempting ALERT in state 2
       > CAPI devicestate requested for eicon3/22
CONNECT_B3_CONF ID=001 #0x08c9 LEN=0014
  Controller/PLCI/NCCI            = 0x1a0403
  Info                            = 0x0

CONNECT_B3_ACTIVE_IND ID=001 #0x18a3 LEN=0013
  Controller/PLCI/NCCI            = 0x1a0403
  NCPI                            = default

CONNECT_B3_ACTIVE_RESP ID=001 #0x18a3 LEN=0012
  Controller/PLCI/NCCI            = 0x1a0403

  == eicon3#01: Setting up echo canceller (PLCI=0x403, function=1, options=4, tail=0)
FACILITY_REQ ID=001 #0x08ca LEN=0024
  Controller/PLCI/NCCI            = 0x403
  FacilitySelector                = 0x8
  FacilityRequestParameter        = <01 00 06 04 00 00 00 00 00>

  == eicon3#01: Setting up DTMF detector (PLCI=0x403, flag=1)
FACILITY_REQ ID=001 #0x08cb LEN=0023
  Controller/PLCI/NCCI            = 0x403
  FacilitySelector                = 0x1
  FacilityRequestParameter        = <01 00>P<00>P<00 00 00>

FACILITY_CONF ID=001 #0x08ca LEN=0022
  Controller/PLCI/NCCI            = 0x403
  Info                            = 0x0
  FacilitySelector                = 0x8
  FacilityConfirmationParameter   = <01 00 02 00 00>

    -- eicon3#01: Echo canceller successfully set up (PLCI=0x403)
FACILITY_CONF ID=001 #0x08cb LEN=0019
  Controller/PLCI/NCCI            = 0x403
  Info                            = 0x0
  FacilitySelector                = 0x1
  FacilityConfirmationParameter   = <00 00>

       > eicon3#01: DTMF conf(PLCI=0x403)
INFO_IND ID=001 #0x1b32 LEN=0017
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x8
  InfoElement                     = <80 90>

INFO_RESP ID=001 #0x1b32 LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element CAUSE 80 90
INFO_IND ID=001 #0x1b33 LEN=0015
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x8045
  InfoElement                     = default

INFO_RESP ID=001 #0x1b33 LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element DISCONNECT
    -- eicon3#02: Disconnect case 3
    -- CAPI queue frame: TYPE: Control (4) SUBCLASS: Hangup (1) ] [eicon3#02]
  == eicon3#01: CAPI Hangingup for PLCI=0x403 in state 5
    -- eicon3#01: activehangingup (cause=0) for PLCI=0x403
DISCONNECT_B3_REQ ID=001 #0x0b5a LEN=0013
  Controller/PLCI/NCCI            = 0x1a0403
  NCPI                            = default

eicon3#01: wait for DISCONNECT_B3_CONF (0x8481)
DISCONNECT_B3_CONF ID=001 #0x0b5a LEN=0014
  Controller/PLCI/NCCI            = 0x1a0403
  Info                            = 0x0

eicon3#01: found and signal for DISCONNECT_B3_CONF
DISCONNECT_B3_IND ID=001 #0x1b35 LEN=0015
  Controller/PLCI/NCCI            = 0x190203
  Reason_B3                       = 0x0
  NCPI                            = default

DISCONNECT_B3_RESP ID=001 #0x1b35 LEN=0012
  Controller/PLCI/NCCI            = 0x190203

eicon3#01: cond signal received for DISCONNECT_B3_CONF
  == Spawn extension (test, 22, 1) exited non-zero on 'CAPI/eicon3/-14'
       > CAPI devicestate requested for eicon3/22
       > CAPI devicestate requested for eicon3/22
  == eicon3#02: CAPI Hangingup for PLCI=0x203 in state 2
    -- eicon3#02: activehangingup (cause=16) for PLCI=0x203
DISCONNECT_REQ ID=001 #0x0b5b LEN=0018
  Controller/PLCI/NCCI            = 0x203
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

eicon3#02: wait for DISCONNECT_CONF (0x481)
DISCONNECT_CONF ID=001 #0x0b5b LEN=0014
  Controller/PLCI/NCCI            = 0x203
  Info                            = 0x0

eicon3#02: found and signal for DISCONNECT_CONF
eicon3#02: cond signal received for DISCONNECT_CONF
       > CAPI devicestate requested for eicon3/
       > CAPI devicestate requested for eicon3/
DISCONNECT_B3_IND ID=001 #0x1b36 LEN=0015
  Controller/PLCI/NCCI            = 0x1a0403
  Reason_B3                       = 0x0
  NCPI                            = default

DISCONNECT_B3_RESP ID=001 #0x1b36 LEN=0012
  Controller/PLCI/NCCI            = 0x1a0403

DISCONNECT_REQ ID=001 #0x0b5c LEN=0018
  Controller/PLCI/NCCI            = 0x403
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default

DISCONNECT_CONF ID=001 #0x0b5c LEN=0014
  Controller/PLCI/NCCI            = 0x403
  Info                            = 0x0

INFO_IND ID=001 #0x1b37 LEN=0017
  Controller/PLCI/NCCI            = 0x403
  InfoNumber                      = 0x8
  InfoElement                     = <80 90>

INFO_RESP ID=001 #0x1b37 LEN=0012
  Controller/PLCI/NCCI            = 0x403

    -- eicon3#01: info element CAUSE 80 90
INFO_IND ID=001 #0x1b38 LEN=0015
  Controller/PLCI/NCCI            = 0x403
  InfoNumber                      = 0x804d
  InfoElement                     = default

INFO_RESP ID=001 #0x1b38 LEN=0012
  Controller/PLCI/NCCI            = 0x403

    -- eicon3#01: info element RELEASE
DISCONNECT_IND ID=001 #0x1b3a LEN=0014
  Controller/PLCI/NCCI            = 0x403
  Reason                          = 0x3490

DISCONNECT_RESP ID=001 #0x1b3a LEN=0012
  Controller/PLCI/NCCI            = 0x403

       > eicon3#01: CAPI INFO 0x3490: Normal call clearing
  == eicon3#01: Interface cleanup PLCI=0x403
INFO_IND ID=001 #0x1b3b LEN=0015
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x805a
  InfoElement                     = default

INFO_RESP ID=001 #0x1b3b LEN=0012
  Controller/PLCI/NCCI            = 0x203

    -- eicon3#02: info element RELEASE COMPLETE
DISCONNECT_IND ID=001 #0x1b3d LEN=0014
  Controller/PLCI/NCCI            = 0x203
  Reason                          = 0x3490

DISCONNECT_RESP ID=001 #0x1b3d LEN=0012
  Controller/PLCI/NCCI            = 0x203

       > eicon3#02: CAPI INFO 0x3490: Normal call clearing
  == eicon3#02: Interface cleanup PLCI=0x203



Hat jemand schon den Fehler in der Konfiguration gefunden oder werden noch bestimmte Protokolle gebraucht. Ich finde das Verhalten sehr komisch :(
 
An sich sehe ich kein Fehler. Aber warum machst Du ein Answer() in der s-Extension? Hier willst Du doch nur auf Ziffern warten, oder?
Ein Progress() wuerde schon reichen.
Wenn du hier direkt nach aussen waehlen wolltest, kannst Du auch direkt
Dial(CAPI/eicon1//b) machen.

Armin
 
Hab ich in einer Beispiel Konfiguration auf voip-info.org gesehen. Momentan benutze ich Progress (s.u). Da ich die gewählte Nummer zum evtl. Routen über SIP auswerten muss, kann ich Dial nicht gleich benutzen.

Code:
exten => s,1,Playtones(dial)
exten => s,n,Progress()
exten => s,n,StopPlaytones

Wie sieht es mit der Konfiguration des Treibers aus unter /usr/lib/divas/ mit ./Config aus? Wird diese durch die Einstellungen in capi.conf überschrieben, oder müssen diese gleich sein?
 
Das mit dem fehlenden Rufzeichen hab ich gelöst. :)
Es lag an dem "immediate=yes" in der capi.conf.

Folgende Umgebung läuft jetzt:

ISDN (Eicon Diva Server 4BRI):
Intern: Port3: ISDN-Telefonanlage + ein ISDN-Telefon
Extern: Port1 + Port2: je ein Basisanschluss als Mehrgeräteanschluss (Point-to-Multipoint)

SIP:
Intern: Sip-Clients
Extern: 1und1 und Sipgate

Der Trick, damit kein immediate benötigt wird, war ein zusätzlicher Kontext in der extensions.conf. Dieser mit 0 angewählt wird und mit WaitExten arbeitet. Dies funktioniert wunderbar mit dem ISDN-Telefon, aber nicht mit der ISDN-Telefonanlage, die speichert, je nachdem wie schnell die Ziffern eingeben werden, 2 bis 5 Ziffern. Deswegen werden die zusätzlichen _0XX Extensions benutzt.

Code:
...

[dialout]

; keine Blockwahl
exten => 0,1,Goto(noblock-dialout,s,1)

exten => _0X,1,Set(predigi=${EXTEN:1})
exten => _0X,n,Goto(noblock-dialout,s,1)

exten => _0XX,1,Set(predigi=${EXTEN:1})
exten => _0XX,n,Goto(noblock-dialout,s,1)

exten => _0XXX,1,Set(predigi=${EXTEN:1})
exten => _0XXX,n,Goto(noblock-dialout,s,1)

exten => _0XXXX,1,Set(predigi=${EXTEN:1})
exten => _0XXXX,n,Goto(noblock-dialout,s,1)

; Blockwahl
exten => _0XXXX.,1,Macro(lcr,${EXTEN:1},XXXXXX-out,YES,YES)
exten => _0XXXX.,n,Macro(dialout-pstn-lcr,${EXTEN:1})

; hier wird mit early B3 connect gearbeitet
exten => _7X.,1,Macro(dialout-pstn-lcr,${EXTEN:1})
exten => _9X.,1,Macro(dialout-pstn,${EXTEN:1})

[noblock-dialout]
exten => s,1,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,WaitExten(5)

exten => _.,1,Set(dialnumber=${predigi}${EXTEN})
exten => _.,n,Goto(dial,1)

exten => t,1,Set(dialnumber=${predigi})
exten => t,n,Goto(dial,1)

exten => dial,1,Macro(lcr,${dialnumber},XXXXXX-out,YES,YES)
exten => dial,n,Macro(dialout-pstn-lcr,${dialnumber})

...

Dieser Aufwand ist wahrscheinlich nur nötig, weil SIP kein early B3 kann.
Gibs eigentliche eine einfachere Lösung?

Noch eine Frage zu der Konfiguration der Diva Karte. Sind meine folgenden Einstellungen richtig?

Zusammenfassung für TE:

* Please select interface mode (TE/NT): TE (default)
* Please select D-channel protocol: ETSI - Europe/other countries, Euro-ISDN (ETSI-DSS1)
* Please select NT-2 (Direct Dial In, Direct Inward Dialing) mode: No
* Please select ETSI Call Transfer mode: Default
* Please select ETSI/QSIG RDN mode: Take first RDN (default)
* Please select ETSI Message Waiting mode: Default (uses REGISTER Message)
* Please select D-channel layer 2 activation policy: Deactivation only by other side (default)
* Please select voice companding options: Force A-Law
* Please configure Hunt Group operation mode: Standard operation (default)
* Please configure trunk operation mode: Point to Multipoint (default)
* Please configure amount of TEI's: one TEI (default)
* Please configure global CAPI call distribution policy (Group Optimization): On (distribute calls on 'per group' basis)
* ... Fax Konfiguration ...
* Please configure Part 68 voice signal limiter: National default
* Please configure DTMF clamping: Off (default)
* Please configure Audio Recording AGC: Automatic Gain Control Off (default)

Unterschied NT zu TE:

* Please select interface mode (TE/NT): Network Terminator (NT) mode
* Please select NT-2 (Direct Dial In, Direct Inward Dialing) mode: Yes
* Please select Direct Inward Dialing number length: Forward call to application as is
* Please select source of local tones (BUSY, ALERTING, ...): Tones provided by ISDN equipment (default)

Besonders unsicher bin ich mit der "Point to Multipoint" Einstellung, weil ich gelesen habe, dass im NT-Mode "Point to Point" nötig ist und mit der "D-channel layer 2 activation policy". In Beispielen für den divactrl-Befehl wurde die NT-Port auf immer aktiv geschaltet, dies ist aber in der v3 Version von melware für einen Port im NT-Modus nicht mehr möglich.

Ich bedank mich schonmal für die Antworten im voraus.
Dennis
 
lotus-eater schrieb:
* Please select voice companding options: Force A-Law
Das ist fuer Europa zwar okay, aber die default Einstellung kann man hier lassen.

lotus-eater schrieb:
* Please configure global CAPI call distribution policy (Group Optimization): On (distribute calls on 'per group' basis)
Das macht man nur, wenn man mehrere gleiche Applikationen am CAPI 'lauschen' hat und bei jedem Anruf nicht alle Applikationen den Ruf bekommen sollen, sondern nur einer. Fuer Asterisk (und dazu eventuell z.B. Hylafax) macht man das nicht.

lotus-eater schrieb:
* Please select source of local tones (BUSY, ALERTING, ...): Tones provided by ISDN equipment (default)
Hier kannst Du einstellen, ob die Karte (im NT mode) die Toene (in early-B3) generieren soll, oder ob Asterisk das macht.

lotus-eater schrieb:
Besonders unsicher bin ich mit der "Point to Multipoint" Einstellung, weil ich gelesen habe, dass im NT-Mode "Point to Point" nötig ist und mit der "D-channel layer 2 activation policy". In Beispielen für den divactrl-Befehl wurde die NT-Port auf immer aktiv geschaltet, dies ist aber in der v3 Version von melware für einen Port im NT-Modus nicht mehr möglich.
Ich glaube hier bringst du was durcheinander. Die Art des Anschlusses hat nichts mit dem NT-mode zu tun. Wenn es ein PtMP ist, dann muss das auch beim NT-mode so eingestellt werden, da hier das Protokoll diese Info braucht.
In chan-capi wird bei NT-mode auf jeden Fall 'DID' eingestellt, da es im NT-mode auf der Asterisk Seite keine MSN gibt: du kannst hier ja digit-by-digit waehlen.

Armin
 
Danke für deine ausführliche Antwort. Hab die Karte jetzt mit ausgeschalteter "Group Optimization" und default bei der Codec-Auswahl am laufen. Der Rest hat ich ja dann richtig eingestellt.

Schon mal vorweg, ;) ich werde noch eine Frage zu einem Fehler stellen. Habe gerade verbose in 5 und capi debug am laufen. Muss allerdings den Fehler abwarten, da dieser zum Glück nicht häufig auftritt. Aber wenn er auftritt werden die ISDN Kanäle nicht mehr getrennt und in capi show channels wird als state "discP" im eingehenden und den ausgehenden Zweigen angezeigt. Also wird versucht zu trennen. Es tritt auch folgende Fehlermeldung auf:
Code:
WARNING[9848]: chan_capi.c:441 capi_wait_conf: eicon1#02: timed out waiting for DISCONNECT_CONF
 
Das sollte nicht passieren. Kannst Du bitte von einem solchen Fall ein komplettes Log mir schicken?
Also mit
set verbose 5
capi debug


Armin
 
Anruf mit Tel XTELX an XMSNX auf eicon1 soll mit intern über eicon3 vermittelt werden.

Ich kann den Fehler leider nicht reproduzieren. Aber wenn er aufgetreten ist, muss ich den diva module neuladen, damit anrufe angenommen werden können. capi info kommt nach dem Fehler auch durcheinander und zählt mehr freie Kanäle als vorhanden sind :)

Code:
CONNECT_IND ID=001 #0x1800 LEN=0048
  Controller/PLCI/NCCI            = 0x301
  CIPValue                        = 0x4
  CalledPartyNumber               = <c1>XMSNX
  CallingPartyNumber              = <21 83>XTELX
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BC                              = <90 90 a3>
  LLC                             = default
  HLC                             = default
  AdditionalInfo                 
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default

    -- CONNECT_IND (PLCI=0x301,DID=XMSNX,CID=XTELX,CIP=0x4,CONTROLLER=0x1)
       > eicon1#02: msn='*' DNID='XMSNX' MSN
  == eicon1#02: setting format alaw - 0x8 (alaw)
  == eicon1#02: Incoming call '0XTELX' -> 'XMSNX'
INFO_IND ID=001 #0x1801 LEN=0017
  Controller/PLCI/NCCI            = 0x301
  InfoNumber                      = 0x1e
  InfoElement                     = <82 83>

INFO_RESP ID=001 #0x1801 LEN=0012
  Controller/PLCI/NCCI            = 0x301

    -- eicon1#02: info element PI 82 83
       > eicon1#02: Origination is non ISDN
INFO_IND ID=001 #0x1802 LEN=0021
  Controller/PLCI/NCCI            = 0x301
  InfoNumber                      = 0x70
  InfoElement                     = <c1>XMSNX

INFO_RESP ID=001 #0x1802 LEN=0012
  Controller/PLCI/NCCI            = 0x301

    -- eicon1#02: info element CALLED PARTY NUMBER
       > eicon1#02: INFO_IND DID digits not used in this state.
INFO_IND ID=001 #0x1803 LEN=0015
  Controller/PLCI/NCCI            = 0x301
  InfoNumber                      = 0xa1
  InfoElement                     = default

INFO_RESP ID=001 #0x1803 LEN=0012
  Controller/PLCI/NCCI            = 0x301

    -- eicon1#02: info element Sending Complete
    -- eicon1#02: CAPI/eicon1/XMSNX-10: XMSNX matches in context pstn-in
    -- Executing Goto("CAPI/eicon1/XMSNX-10", "dialin|s|1") in new stack
    -- Goto (dialin,s,1)
    -- Executing GotoIfTime("CAPI/eicon1/XMSNX-10", "9:30-13:00|mon-fri|*|*?open|1") in new stack
    -- Goto (dialin,open,1)
    -- Executing AGI("CAPI/eicon1/XMSNX-10", "mrdb_lookup.agi|0XTELX|") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/mrdb_lookup.agi
  == Started pbx on channel CAPI/eicon1/XMSNX-10
INFO_IND ID=001 #0x1804 LEN=0016
  Controller/PLCI/NCCI            = 0x301
  InfoNumber                      = 0x18
  InfoElement                     = <89>

INFO_RESP ID=001 #0x1804 LEN=0012
  Controller/PLCI/NCCI            = 0x301

    -- eicon1#02: info element CHANNEL IDENTIFICATION 89
INFO_IND ID=001 #0x1805 LEN=0015
  Controller/PLCI/NCCI            = 0x301
  InfoNumber                      = 0x8005
  InfoElement                     = default

INFO_RESP ID=001 #0x1805 LEN=0012
  Controller/PLCI/NCCI            = 0x301

    -- eicon1#02: info element SETUP
       > eicon1#02: IE SETUP / SENDING-COMPLETE already received.
       > CAPI devicestate requested for eicon1/XMSNX
  mrdb_lookup.agi|0XTELX|: Analyse 0XTELX
  mrdb_lookup.agi|0XTELX|: Suche Telefonnummer 0XTELX
    -- AGI Script mrdb_lookup.agi completed, returning 0
    -- Executing Set("CAPI/eicon1/XMSNX-10", "CALLERID(name)=XNAMEX") in new stack
    -- Executing Dial("CAPI/eicon1/XMSNX-10", "CAPI/g3/20||t") in new stack
       > data = g3/20 format=8
       > parsed dialstring: 'g3' 'NULL' '20' ''
       > capi request group = 8
  == eicon3#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'g3' 'NULL' '20' ''
  == eicon3#02: Call CAPI/eicon3/20-11   (pres=0x03, ton=0x21)
CONNECT_REQ ID=001 #0x144a LEN=0054
  Controller/PLCI/NCCI            = 0x3
  CIPValue                        = 0x4
  CalledPartyNumber               = <80>20
  CallingPartyNumber              = <21 83>0XTELX
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BProtocol                      
   B1protocol                     = 0x1
   B2protocol                     = 0x1
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
  BC                              = default
  LLC                             = default
  HLC                             = default
  AdditionalInfo                 
   BChannelinformation            = <00 00>
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default

    -- Called g3/20
       > CAPI devicestate requested for eicon3/20
       > CAPI devicestate requested for eicon3/20
CONNECT_CONF ID=001 #0x144a LEN=0014
  Controller/PLCI/NCCI            = 0x103
  Info                            = 0x0

    -- eicon3#02: received CONNECT_CONF PLCI = 0x103

  == eicon3#02: CAPI Hangingup for PLCI=0x103 in state 5
    -- eicon3#02: activehangingup (cause=0) for PLCI=0x103
DISCONNECT_REQ ID=001 #0x144b LEN=0017
  Controller/PLCI/NCCI            = 0x103
  AdditionalInfo                 
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default

eicon3#02: wait for DISCONNECT_CONF (0x481)
Jan 17 12:15:28 WARNING[2311]: chan_capi.c:441 capi_wait_conf: eicon3#02: timed out waiting for DISCONNECT_CONF
  == Everyone is busy/congested at this time (1:0/0/1)
       > CAPI devicestate requested for eicon3/20
       > CAPI devicestate requested for eicon3/20
  == eicon1#02: CAPI Hangingup for PLCI=0x301 in state 8
    -- eicon1#02: activehangingup (cause=0) for PLCI=0x301
CONNECT_RESP ID=001 #0x1800 LEN=0032
  Controller/PLCI/NCCI            = 0x301
  Reject                          = 0x2
  BProtocol                      
   B1protocol                     = 0x0
   B2protocol                     = 0x0
   B3protocol                     = 0x0
   B1configuration                = default
   B2configuration                = default
   B3configuration                = default
  ConnectedNumber                 = default
  ConnectedSubaddress             = default
  LLC                             = default
  AdditionalInfo                 
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default

       > CAPI devicestate requested for eicon1/XMSNX
       > CAPI devicestate requested for eicon1/XMSNX

Ich hoffe du kannst etwas erkennen.
 
Hier scheint eicon3 zu haengen. Den Grund kann man so nicht finden. Kannst Du einen diva trace (mit dem Wizard) erzeugen? Hier ist dann zu sehen, was auf dem ISDN D-Kanal passiert. Ich nehme an, dass hier ein Problem im Protokoll ist.

Armin
 
ok,
hab jetzt wieder mehr Zeit mich mit asterisk zu beschäftigen, juhuu :)

Bin blutiger Anfänger und schreibe hier mal auf was ich gemacht habe:

in das /usr/lib/divas Verzeichnis gewechselt und
in ./Config Wizard unter save den MAINT debug/tracer driver geladen.
Das war wohl nicht nötig, weil Trace der richtige Wizard ist und das gleiche modul auch mit diesem Wizard geladen werden kann.

In Trace hab ich den Standard Trace gestartet, danach mich nicht auf bestimmte Anrufe festgelegt und den "trace ring buffer size" auf 16 belassen.

Und jetzt heißt es abwarten.
 
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.