.titleBar { margin-bottom: 5px!important; }

Interne Anrufe funktionieren über Capi externe nicht.

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von Joachim, 23 Aug. 2005.

  1. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Guten Tag Euch allen,

    ich habe Asterisk an einer Nebenstelle angeschlossen mit einer MSN ausgestattet und wenn ich einen anderen internen Apparat anrufe funktioniert alles. Aber wenn ich raus wählen will funktioniert es nicht.
    z.B. ich wähle die 10 an funktioniert es, ich wählen den selben Apparat mit kompletter Nummer einschl. Vorwahl und führender Null an und es funkt. nicht.

    Ich hab schon alle Varianten ausprobiert:
    Dial(CAPI/46:b${EXTEN},30,r)
    Dial(CAPI/46:b0${EXTEN},30,r)
    Dial(CAPI/46:${EXTEN},30,r)
    Dial(CAPI/46:0${EXTEN},30,r)

    Einzige Fehlermeldung die ich finden kann:
    Code:
     Executing Dial("SIP/3016-805c", "CAPI/16:08763410,30,r") in new stack
    Aug 23 08:27:29 VERBOSE[1511]: -- creating pipe for PLCI=-1
    Aug 23 08:27:29 VERBOSE[1511]: > sent CONNECT_REQ MN =0x30
    Aug 23 08:27:29 VERBOSE[1511]: -- Called 16:08763410,30,r
    Aug 23 08:27:29 VERBOSE[1511]: -- CAPI[contr1/16]/12 is making progress passing it to SIP/3016-805c
    Aug 23 08:27:30 VERBOSE[1511]: -- CAPI Hangingup
    Aug 23 08:27:30 VERBOSE[1511]: > sent DISCONNECT_REQ PLCI=0x101
    Aug 23 08:27:30 VERBOSE[1511]: -- removed pipe for PLCI = 0x101
    Aug 23 08:27:30 VERBOSE[1511]: == No one is available to answer at this time
    Aug 23 08:27:30 DEBUG[1511]: Exiting with DIALSTATUS=NOANSWER.
    Aug 23 08:27:30 VERBOSE[1511]: -- Executing Goto("SIP/3016-805c", "s-NOANSWER|1") in new stack
    Aug 23 08:27:30 VERBOSE[1511]: -- Goto (macro-dialout-trunk,s-NOANSWER,1)
    Aug 23 08:27:30 VERBOSE[1511]: -- Executing NoOp("SIP/3016-805c", "Dial failed due to NOANSWER") in new stack
    Aug 23 08:27:30 VERBOSE[1511]: -- Executing Macro("SIP/3016-805c", "outisbusy") in new stack
    Aug 23 08:27:30 VERBOSE[1511]: -- Executing Playback("SIP/3016-805c", "allison7/all-circuits-busy-now") in new stack
    Ich habe eine AVM Fritzcard PCI und chan_capi 0.3.5 .

    Wenn ich den Stecker aus dem Asterisk ziehe und in ein ISDN-Telefon einstecke, mit selbiger MSN und den Anruf mache funktioniert es ebenfalls.

    Ich bin ratlos, womit das zu tun haben könnte.
    Wo kann man evtl. capi /chan_capi Fehlermeldung einsehen?

    In /var/log/messages habe ich nur das hier gefunden:
    Code:
    Aug 22 14:33:28 asterisk1 kernel: kcapi: appl 1 ncci 0x10101 down
    Aug 22 14:37:16 asterisk1 ntpd[1113]: time reset 0.707832 s
    Aug 22 14:37:16 asterisk1 ntpd[1113]: synchronisation lost
    Aug 22 14:51:29 asterisk1 modprobe: modprobe: Can't locate module char-major-196
    Aug 22 14:51:29 asterisk1 modprobe: modprobe: Can't locate module char-major-196
    Aug 22 14:51:30 asterisk1 kernel: kcapi: appl 1 ncci 0x10101 up
    Aug 22 14:52:00 asterisk1 kernel: kcapi: appl 1 ncci 0x10101 down
    Aug 22 14:52:00 asterisk1 kernel: kcapi: appl 1 down
    Ich bitte um Unterstützung.

    Danke

    Joachim
     
  2. armincm

    armincm Aktives Mitglied

    Registriert seit:
    3 Aug. 2005
    Beiträge:
    1,006
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mehr kannst Du sehen, wenn du den verbose level hoch setzt und 'capi debug' aktivierst.
    Ich empfehle Dir aber das neuste chan_capi-cm von Sourceforge zu verwenden.

    Armin
     
  3. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    bei capi debug + verbose level 37 wird das ausgegeben:

    Code:
    [root@asterisk1 asterisk]# clear
    [root@asterisk1 asterisk]# asterisk -r -vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
      == Parsing '/etc/asterisk/asterisk.conf': Found
      == Parsing '/etc/asterisk/extconfig.conf': Not found (No such file or directory)
    Asterisk 1.0.9, Copyright (C) 1999-2004 Digium.
    Written by Mark Spencer <markster@digium.com>
    =========================================================================
    Connected to Asterisk 1.0.9 currently running on asterisk1 (pid = 1349)
    Verbosity is at least 37
    asterisk1*CLI> capi debug
    CAPI Debugging Enabled
        -- Executing Macro("SIP/3016-44d1", "dialout-trunk|2|08763479|") in new stack
        -- Executing GotoIf("SIP/3016-44d1", "1?3:2)") in new stack
        -- Goto (macro-dialout-trunk,s,3)
        -- Executing Macro("SIP/3016-44d1", "record-enable|3016|OUT") in new stack
        -- Executing GotoIf("SIP/3016-44d1", "0 > 0?2:4") in new stack
        -- Goto (macro-record-enable,s,4)
        -- Executing GotoIf("SIP/3016-44d1", "1?5:8") in new stack
        -- Goto (macro-record-enable,s,5)
        -- Executing DBget("SIP/3016-44d1", "RecEnable=RECORD-OUT/3016") in new stack
        -- DBget: varname=RecEnable, family=RECORD-OUT, key=3016
        -- DBget: Value not found in database.
        -- Executing SetVar("SIP/3016-44d1", "CALLFILENAME=OUT3016-20050823-125432-1124794472.13") in new stack
        -- Executing Goto("SIP/3016-44d1", "s|14") in new stack
        -- Goto (macro-record-enable,s,14)
        -- Executing GotoIf("SIP/3016-44d1", "0?15:99") in new stack
        -- Goto (macro-record-enable,s,99)
        -- Executing NoOp("SIP/3016-44d1", "NO RECORDING NEEDED") in new stack
        -- Executing GotoIf("SIP/3016-44d1", "1?7") in new stack
        -- Goto (macro-dialout-trunk,s,7)
        -- Executing GotoIf("SIP/3016-44d1", "1?9") in new stack
        -- Goto (macro-dialout-trunk,s,9)
        -- Executing SetGroup("SIP/3016-44d1", "OUT_2") in new stack
        -- Executing CheckGroup("SIP/3016-44d1", "") in new stack
        -- Executing SetVar("SIP/3016-44d1", "DIAL_NUMBER=08763479") in new stack
        -- Executing SetVar("SIP/3016-44d1", "DIAL_TRUNK=2") in new stack
        -- Executing AGI("SIP/3016-44d1", "fixlocalprefix") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
      fixlocalprefix: Could not parse /etc/asterisk/localprefixes.conf
        -- AGI Script fixlocalprefix completed, returning 0
        -- Executing SetVar("SIP/3016-44d1", "OUTNUM=08763479") in new stack
        -- Executing Cut("SIP/3016-44d1", "custom=OUT_2|:|1") in new stack
        -- Executing GotoIf("SIP/3016-44d1", "1?19") in new stack
        -- Goto (macro-dialout-trunk,s,19)
        -- Executing Cut("SIP/3016-44d1", "pre_num=OUT_2|$|1") in new stack
        -- Executing Cut("SIP/3016-44d1", "the_num=OUT_2|$|2") in new stack
        -- Executing Cut("SIP/3016-44d1", "post_num=OUT_2|$|3") in new stack
        -- Executing GotoIf("SIP/3016-44d1", "1?23:24") in new stack
        -- Goto (macro-dialout-trunk,s,23)
        -- Executing SetVar("SIP/3016-44d1", "the_num=08763479") in new stack
        -- Executing Dial("SIP/3016-44d1", "CAPI/46:08763479,30,r") in new stack
        -- data = 46:08763479,30,r
        -- capi request omsn = 46
      == found capi with omsn = 46
      == CAPI Call CAPI[contr1/46]/4     -- creating pipe for PLCI=-1
           > sent CONNECT_REQ MN =0xc
        -- Called 46:08763479,30,r
        -- CONNECT_CONF ID=001 #0x000c LEN=0014
      Controller/PLCI/NCCI            = 0x101
      Info                            = 0x0
    
        -- CONNECT_CONF ID=001 #0x000c LEN=0014
      Controller/PLCI/NCCI            = 0x101
      Info                            = 0x0
    
      == received CONNECT_CONF PLCI = 0x101 INFO = 0
        -- INFO_IND ID=001 #0x0020 LEN=0015
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x800d
      InfoElement                     = default
    
        -- INFO_IND ID=001 #0x0020 LEN=0015
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x800d
      InfoElement                     = default
    
           > sent INFO_RESP (PLCI=0x101)
        -- CAPI[contr1/46]/4 is making progress passing it to SIP/3016-44d1
        -- INFO_IND ID=001 #0x0021 LEN=0017
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x1e
      InfoElement                     = <81 88>
    
        -- INFO_IND ID=001 #0x0021 LEN=0017
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x1e
      InfoElement                     = <81 88>
    
           > sent INFO_RESP (PLCI=0x101)
        -- INFO_IND ID=001 #0x0022 LEN=0016
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x18
      InfoElement                     = <89>
    
        -- INFO_IND ID=001 #0x0022 LEN=0016
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x18
      InfoElement                     = <89>
    
           > sent INFO_RESP (PLCI=0x101)
        -- INFO_IND ID=001 #0x0023 LEN=0015
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x8045
      InfoElement                     = default
    
        -- INFO_IND ID=001 #0x0023 LEN=0015
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x8045
      InfoElement                     = default
    
           > sent INFO_RESP (PLCI=0x101)
        -- CAPI Hangingup
           > activehangingup
           > sent DISCONNECT_REQ PLCI=0x101
        -- INFO_IND ID=001 #0x0024 LEN=0017
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x1e
      InfoElement                     = <81 88>
    
        -- INFO_IND ID=001 #0x0024 LEN=0017
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x1e
      InfoElement                     = <81 88>
    
           > sent INFO_RESP (PLCI=0x101)
        -- INFO_IND ID=001 #0x0025 LEN=0017
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x8
      InfoElement                     = <81 ef>
    
        -- INFO_IND ID=001 #0x0025 LEN=0017
      Controller/PLCI/NCCI            = 0x101
      InfoNumber                      = 0x8
      InfoElement                     = <81 ef>
    
           > sent INFO_RESP (PLCI=0x101)
        -- DISCONNECT_CONF ID=001 #0x000d LEN=0014
      Controller/PLCI/NCCI            = 0x101
      Info                            = 0x0
    
        -- DISCONNECT_CONF ID=001 #0x000d LEN=0014
      Controller/PLCI/NCCI            = 0x101
      Info                            = 0x0
    
        -- DISCONNECT_IND ID=001 #0x0026 LEN=0014
      Controller/PLCI/NCCI            = 0x101
      Reason                          = 0x34ef
    
      == DISCONNECT_IND PLCI=0x101 REASON=0x34ef
           > sent DISCONNECT_RESP PLCI=0x101
        -- removed pipe for PLCI = 0x101
      == No one is available to answer at this time
        -- Executing Goto("SIP/3016-44d1", "s-NOANSWER|1") in new stack
        -- Goto (macro-dialout-trunk,s-NOANSWER,1)
        -- Executing NoOp("SIP/3016-44d1", "Dial failed due to NOANSWER") in new stack
        -- Executing Macro("SIP/3016-44d1", "outisbusy") in new stack
        -- Executing Playback("SIP/3016-44d1", "allison7/all-circuits-busy-now") in new stack
    

    Ich hatte zuerst die chan_capi_cm aber ich habe asterisk@home und da kann man nur einen dialstring hinterlegen, während chan_capi_cm 3 Befehle zumWählen braucht.

    Mmmh, jetzt bis ich völlig ratlos.
    Übrigens von externe Anrufe kann ich über den Asterisk annehmen.

    Gruss

    joachim
     
  4. armincm

    armincm Aktives Mitglied

    Registriert seit:
    3 Aug. 2005
    Beiträge:
    1,006
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Auch wenn das Debug von dem 'alten' chan_capi nicht so ausführlich ist, ist doch der disconnect reason zu sehen: 0x34ef = Protocol error, unspecified.
    Hier scheint die Anlage etwas nicht zu moegen.
    Wird denn PtP oder PtMP verwendet ?

    Armin
     
  5. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hello again,

    hier ist meine capi.conf: soweit ich weiss müsste das was Du meinst hier konfiguriert werden, oder?

    Code:
    ;
    ; CAPI config
    ;
    ;
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8
    
    [interfaces]
    msn=46
    incomingmsn=46
    outgoingmsn=*
    controller=1
    softdtmf=1
    accountcode=
    context=from-pstn
    ;echosquelch=1
    ;echocancel=yes
    ;echotail=64
    ;callgroup=1
    ;deflect=12345678
    devices=2
    
    
    ;PointToPoint (55512-0)
    ;for outgoing calls use example 5551212
    ;and in dialplan you can use callerid like
    ;exten => _0XXX.,1,StripMSD,1
    ;exten => _XXX.,2,Dial,CAPI/55512${CALLERIDNUM}:bBYEXTENSION
    ;============================================================
    ;mode=immediate
    ;isdnmode=ptp
    ;msn=55512
    ;controller=2
    ;devices=30
    ~
    
    Ich hab chan_capi_pm_0.5.4 installiert und die selben Erscheinungsformen.

    An meiner Telefonanlage gibt es keine Debug-Log oder so.

    Was sind denn so die Standard ISDN-Missverständnisse zwischen verschiedenen Geräten ?

    Kann evtl. noch andere Infos rausholen, ISDN-monitor o.ä.?

    Gruss

    joachim
     
  6. armincm

    armincm Aktives Mitglied

    Registriert seit:
    3 Aug. 2005
    Beiträge:
    1,006
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    In der capi.conf von Asterisk wird mit ptp/ptmp nur eingestellt, ob du MSNs oder Durchwahlnummern (DID) hast. Das korrekte Protokoll muss schon die Karte und der Treiber machen. -> also beim starten der Karte/laden des Treibers.
    Bei AVM weiss ich es aber nicht genau, wie das geht.

    Armin
     
  7. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mmmh,

    Hier im Forum habe ich gelesen dass die Fritzcard kein ptp kann.

    Ich fasse nochmal zusammen:

    Ich habe eine AVM Fritzcard PCI und chan_capi 0.3.5 . ptm mode
    (mehrfach chan_capi_pm_0.5.4 ausprobiert)

    Ich habe den Asterisk an einer Nebenstelle angeschlossen mit einer MSN ausgestattet und wenn ich einen anderen internen Apparat anrufe funktioniert alles. Aber wenn ich raus wählen will funktioniert es nicht.
    z.B. ich wähle die 10 an, funktioniert es, ich wähle den selben Apparat mit kompletter Nummer einschl. Vorwahl und führender Null an und es funkt. nicht. (z.B. 02218023410 o. 002218023410)
    Ich kann des Asterisk über die Externe Nummer anrufen.
    Alles funktioniert nur ein Anfruf ins Telefonnetz liefert die Fehlermeldung.

    Wenn ich den Stecker aus dem Asterisk ziehe und in ein ISDN-Telefon einstecke, mit selbiger MSN und den Anruf mache funktioniert es.

    Mit Capi debug kann ich diese Fehlermeldung sehen:
    disconnect reason : 0x34ef = Protocol error, unspecified.

    An der Telefonanlage kann ich nichts besonders an der Konfiguration des Anschlusses finden.

    Woran könnte es liegen?

    Gruss

    Joachim
     
  8. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mal ne Frage:
    Welche Version von Asterisk nutzt Du? Welche Linux-Distribution und welchen Kernel? Es gibt doch auch unterschiedliche ISDN-Protokolle. Könnte es sein, das Deine Fritz-Card da irgendwie falsch eigestellt ist?
     
  9. Joachim

    Joachim Neuer User

    Registriert seit:
    10 Dez. 2004
    Beiträge:
    146
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,
    ich habe:
    Asterisk@home 1.3 das Image was man über Sourceforge downloaden kann.

    Linux: CentOS
    Kernel:
    2.4.21-32.0.1.EL #1 Wed May 25 14:36:20 EDT 2005 i686 i686 i386 GNU/Linux
    Treiber für die AVM-PCI: fcpci-suse8.2-03.11.02.tar.gz habe ich mit make und make install installiert.

    capiinfo:
    Code:
    Controller 1:
    Manufacturer: AVM GmbH
    CAPI Version: 2.0
    Manufacturer Version: 3.17-02  (49.18)
    Serial Number: 1000001
    BChannels: 2
    Global Options: 0x00000039
       internal controller supported
       DTMF supported
       Supplementary Services supported
       channel allocation supported (leased lines)
    B1 protocols support: 0x4000011f
       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
       Modem asyncronous operation with start/stop byte framing
    B2 protocols support: 0x00000b1b
       ISO 7776 (X.75 SLP)
       Transparent
       LAPD with Q.921 for D channel X.25 (SAPI 16)
       T.30 fro fax group 3
       ISO 7776 (X.75 SLP) with V.42bis compression
       V.120 asyncronous mode
       V.120 bit-transparent mode
    B3 protocols support: 0x800000bf
       Transparent
       T.90NL, T.70NL, T.90
       ISO 8208 (X.25 DTE-DTE)
       X.25 DCE
       T.30 for fax group 3
       reserved
    
      0100
      0200
      39000000
      1f010040
      1b0b0000
      bf000080
      00000000 00000000 00000000 00000000 00000000 00000000
      01000001 00020000 00000000 00000000 00000000
    
    Supplementary services support: 0x000003ff
       Hold / Retrieve
       Terminal Portability
       ECT
       3PTY
       Call Forwarding
       Call Deflection
       MCID
       CCBS
    

    Gibt es nicht sowas wie ein Netzwerkmonitor für ISDN?

    Gruss

    Joachim