Interne Anrufe funktionieren über Capi externe nicht.

Joachim

Neuer User
Mitglied seit
10 Dez 2004
Beiträge
146
Punkte für Reaktionen
0
Punkte
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
 
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
 
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 <[email protected]>
=========================================================================
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
 
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
 
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
 
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
 
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
 
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?
 
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
 
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.