[Gelöst] Faxserver (Tobit David) an NT-Karte nicht erreichbar

Ralph*

Mitglied
Mitglied seit
7 Mrz 2006
Beiträge
369
Punkte für Reaktionen
2
Punkte
18
Ich kann unseren Faxserver, der mit einer ISDN-Karte am internen So-Bus (also der NT-Karte) des asterisk hängt, nicht von einem internen SIP-Telefon ansprechen. Die Konfiguration entnehmt bitte meiner Signatur.

Vom Telefon aus deshalb, weil ich testweise mal das "Fax-Piepen" hören möchte, um zu wissen, ob es denn grundsätzlich funktioniert.

Edit
Abgehend funktioniert es - wenn der Faxserver einen Faxauftrag absetzt, kommt ein eingehender Call auf der NT-Karte an, der an eine der TE-Karten weitergegeben wird, die dann eine ISDN-Verbindung aufbaut. Allerdings klappt der immer erste Versuch nach dem Start von asterisk nicht, erst ein zweiter Verbindungsaufbau wird von der NT-Karte erkannt und weitergeleitet. Warum, habe ich leider noch nicht herausbekommen.
/Edit

Dies alles passiert unter 1TR6... ich hoffe, es kann trotzdem jemand helfen. Ich versuche mal, es so gut ich kann zu beschreiben:

Von meinem internen SIP-Teilnehmer 66 (ein a/b-Telefon an einem Zyxel Prestige 2002 L) rufe ich die Durchwahl 55 an. Nach kurzer Wartezeit, in der am SIP-Telefon nichts zu hören ist, legt asterisk auf. Es greifen folgende Ausschnitte der extensions.conf:

Code:
; ***********************************************
; Faxdurchwahlen intern verbinden
; ***********************************************
[internfax]
exten => 55,1,Macro(incomingfax,${EXTEN})
exten => 55,2,Hangup()

; ***********************************************
; eingehende Faxe an die NT-Karte geben
; ***********************************************
[macro-incomingfax]
exten => s,1,NoCDR()
exten => s,n,Dial(CAPI/g2/${CALLERID(num)}:155/b)
exten => s,n,Hangup()


Beim Versuch, die Verbindung über die Gruppe2 (bestehend aus einer NT-Karte) aufzubauen, erhalte ich dann folgende Ausgabe (Verbose Level 7):

Code:
    -- Executing Macro("SIP/66-081d5508", "incomingfax|55") in new stack
    -- Executing NoCDR("SIP/66-081d5508", "") in new stack
Sep  1 14:51:40 WARNING[4722]: cdr.c:443 ast_cdr_free: CDR on channel 'SIP/66-081d5508' not posted
Sep  1 14:51:40 WARNING[4722]: cdr.c:445 ast_cdr_free: CDR on channel 'SIP/66-081d5508' lacks end
    -- Executing Dial("SIP/66-081d5508", "CAPI/g2/66:155/b") in new stack
       > data = g2/66:155/b format=8
       > parsed dialstring: 'g2' '66' '155' 'b'
       > capi request group = 4
  == ISDN_NT#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'g2' '66' '155' 'b'
  == ISDN_NT#02: Call CAPI/ISDN_NT/155-3 with B3  (pres=0x00, ton=0x00)
CONNECT_REQ ID=001 #0x000a LEN=0048
  Controller/PLCI/NCCI            = 0x3
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>155
  CallingPartyNumber              = <00 80>66
  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 g2/66:155/b
       > CAPI devicestate requested for ISDN_NT/155
       > CAPI devicestate requested for ISDN_NT/155
CONNECT_CONF ID=001 #0x000a LEN=0014
  Controller/PLCI/NCCI            = 0x103
  Info                            = 0x0

    -- ISDN_NT#02: received CONNECT_CONF PLCI = 0x103
INFO_IND ID=001 #0x0009 LEN=0015
  Controller/PLCI/NCCI            = 0x103
  InfoNumber                      = 0x804d
  InfoElement                     = default

INFO_RESP ID=001 #0x0009 LEN=0012
  Controller/PLCI/NCCI            = 0x103

    -- ISDN_NT#02: info element RELEASE
DISCONNECT_IND ID=001 #0x000b LEN=0014
  Controller/PLCI/NCCI            = 0x103
  Reason                          = 0x3490

DISCONNECT_RESP ID=001 #0x000b LEN=0012
  Controller/PLCI/NCCI            = 0x103

       > ISDN_NT#02: CAPI INFO 0x3490: Normal call clearing
    -- CAPI queue frame: [ TYPE: Control (4) SUBCLASS: Hangup (1) ] [ISDN_NT#02]
  == ISDN_NT#02: CAPI Hangingup for PLCI=0x103 in state 4
  == ISDN_NT#02: Interface cleanup PLCI=0x103
  == No one is available to answer at this time (1:0/0/0)
    -- Executing Hangup("SIP/66-081d5508", "") in new stack
  == Spawn extension (macro-incomingfax, s, 3) exited non-zero on 'SIP/66-081d5508' in macro 'incomingfax'
  == Spawn extension (macro-incomingfax, s, 3) exited non-zero on 'SIP/66-081d5508'
       > CAPI devicestate requested for ISDN_NT/155
       > CAPI devicestate requested for ISDN_NT/155


"No one is available to answer at this time (1:0/0/0)" - warum?
Hat jemand eine Idee?

Schöne Grüße
Ralph
 
Zuletzt bearbeitet:
Der Anruf wird nicht akzeptiert von deinem Faxserver. Ich gehe davon aus, dass der Faxserver auch so konfiguriert ist, dass er nur Faxanrufe annehmen soll. Dein abgehender Ruf (zum Faxserver) hat aber CIP=0x1, d.h. Speech.
Hier muss ein anderer CIP eingestellt werden.
Unter Asterisk heisst das Transfercapability und 3.1kHz-audio sollte funktionieren:
SetTransferCapability(3K1AUDIO)

Armin
 
Armin,

danke für Deine Antwort.

Leider bringt ein Umstellen der TransferCapability nicht den gewünschten Erfolg:

Code:
    -- Executing NoCDR("SIP/66-081d7440", "") in new stack
Sep  5 13:20:44 WARNING[4809]: cdr.c:443 ast_cdr_free: CDR on channel 'SIP/66-081d7440' not posted
Sep  5 13:20:44 WARNING[4809]: cdr.c:445 ast_cdr_free: CDR on channel 'SIP/66-081d7440' lacks end
    -- Executing SetTransferCapability("SIP/66-081d7440", "3K1AUDIO") in new stack
    -- Setting transfer capability to: 0x10 - 3K1AUDIO.
    -- Executing Dial("SIP/66-081d7440", "CAPI/g2/66:355/b|60") in new stack
       > data = g2/66:355/b format=8
       > parsed dialstring: 'g2' '66' '355' 'b'
       > capi request group = 4
  == ISDN_NT#02: setting format alaw - 0x8 (alaw)
       > parsed dialstring: 'g2' '66' '355' 'b'
  == ISDN_NT#02: Call CAPI/ISDN_NT/355-8 with B3  (pres=0x00, ton=0x00)
CONNECT_REQ ID=001 #0x000d LEN=0048
  Controller/PLCI/NCCI            = 0x3
  CIPValue                        = 0x4
  CalledPartyNumber               = <80>355
  CallingPartyNumber              = <00 80>66
  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 g2/66:355/b
       > CAPI devicestate requested for ISDN_NT/355
       > CAPI devicestate requested for ISDN_NT/355
CONNECT_CONF ID=001 #0x000d LEN=0014
  Controller/PLCI/NCCI            = 0x203
  Info                            = 0x0

    -- ISDN_NT#02: received CONNECT_CONF PLCI = 0x203
INFO_IND ID=001 #0x0018 LEN=0015
  Controller/PLCI/NCCI            = 0x203
  InfoNumber                      = 0x804d
  InfoElement                     = default

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

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

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

       > ISDN_NT#02: CAPI INFO 0x3490: Normal call clearing
    -- CAPI queue frame: [ TYPE: Control (4) SUBCLASS: Hangup (1) ] [ISDN_NT#02]
  == ISDN_NT#02: CAPI Hangingup for PLCI=0x203 in state 4
  == ISDN_NT#02: Interface cleanup PLCI=0x203
  == No one is available to answer at this time (1:0/0/0)
    -- Executing Hangup("SIP/66-081d7440", "") in new stack
  == Spawn extension (default, 8355, 4) exited non-zero on 'SIP/66-081d7440'
       > CAPI devicestate requested for ISDN_NT/355
       > CAPI devicestate requested for ISDN_NT/355


Bei dem angesprochenen Fax-Server handelt es sich um David von Tobit. Und der nimmt über seine ISDN-Karte auch Sprachanrufe entgegen, wir setzen ihn auch als Anrufbeantworter ein (noch). Deshalb gehe ich mal davon aus, dass die Rufannahme CIP-unabhängig ist.

David kann über seinen "Communication Controller" programmiert werden. Dort kann ich auch ein wenig mitverfolgen, was mit meinem Testanruf passiert: Die Verbindung wird zwar aufgebaut, in der so genannten Gruppe "PreStart" endet das Ganze jedoch.

Was jetzt protokollmäßig dahintersteckt weiß ich leider nicht, aber ich poste mal einen Auszug aus der Hilfe zu David... möglicherweise hilft das ja:

Bevor ein eingehender Ruf angenommen wurde oder beim Versand die Rufnummer gewählt wurde, arbeitet der Transport Layer Driver den Code in der Gruppe "PreStart" ab. Damit kann beispielsweise noch VOR Verbindungsaufbau der Rufabgebrochen werden oder ein eingehender Ruf abgewiesen werden, wenn z.B. ein Anruf nach Feierabend eingeht.

Dieser Code wird vom Transport Layer Driver ausgeführt, bevor eine Leitung aufgebaut wird. Erst das Objekt "Accept Call" startet den Verbindungsaufbau.

"Accept Call" wird noch ausgeführt, der Verbindungsaufbau findet jedoch nicht statt. Ich suche mal, ob ich von David noch mehr Angaben erhalten kann, wo und warum der Versuch abgebrochen wird.

Ralph


EDIT:

So sieht es auf der Gegenseite (also David) aus, wenn ich ohne Umstellen der TransferCapability einen Testanruf von 66 auf 55 durchführe:

CONNECT_IND
LISTEN_REQ
INFO_IND Nr=0x70 -> ¤55
INFO_RESP
LISTEN_CONF
RECEIVE DISABLE
Service : 1 (Phone)
Service+ : 1 (ISDN 3kHz)
Caller : 66
DISCONNECT_IND
DISCONNECT_RESP
LISTEN_REQ
LISTEN_CONF
RECEIVE ENABLE: OK

Seltsam ist doch auf jeden Fall das Eurozeichen vor der Zielrufnummer...

Gibt asterisk auf und trennt die Verbindung oder beendet David den Anruf? Kannst Du das aus meinen Angaben entnehmen?
 
Zuletzt bearbeitet:
Es funktioniert jetzt!

Ich hatte die NT-Karte im asterisk als PtP und David's ISDN-Karte als PtMP konfiguriert - oder war's andersrum? Jetzt sind beide auf PtP und es läuft.

Eigentlich sollte ich mich jetzt über Tobit ärgern, deren Konfigurationstool für die ISDN-Karte (DBCONFIG.NLM) schlicht und einfach falsche Werte anzeigt... aber Schwamm drüber, so lange ich die zugehörige IX1.INI direkt bearbeiten und die Karte so konfigurieren kann.

Falls mal wieder jemand über diesen Thread stolpert: Es hatte nichts mit der TransferCapability zu tun, David reagiert (zumindest hier) auf alle eingehenden Anrufe. Trotzdem nochmals herzlichen Dank an Armin!

Ralph
 
Kostenlos!

Statistik des Forums

Themen
248,901
Beiträge
2,304,560
Mitglieder
378,603
Neuestes Mitglied
M.G.