capicommand deflect geht nicht mehr

roco

Neuer User
Mitglied seit
30 Dez 2006
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Seit einigen Tagen funktioniert bei mir das calldeflect nicht mehr, vorher ging es monatelang einwandfrei. Leider kann ich den Zeitpunkt nicht mehr genau eingrenzen, meine erste Vermutung, dass beim Provider etwas nicht stimmt, wird von diesem bestritten...

Eventuell ist irgendein Update schuld....

Ein capi debug und core set verbose 5 zeigt folgendes:

Code:
CAPI: ApplId=0x0003 Command=0x02 SubCommand=0x82 MsgNum=0x0011 NCCI=0x00000101                                                                                                                         
CONNECT_IND                ID=003 #0x0011 LEN=0049                                                                                                                                                     
  Controller/PLCI/NCCI            = 0x101                                                                                                                                                              
  CIPValue                        = 0x1                                                                                                                                                                
  CalledPartyNumber               = <c1>66xxxx                                                                                                                                                         
  CallingPartyNumber              = <21 83>81xxxxxxxx                                                                                                                                                  
  CalledPartySubaddress           = default                                                                                                                                                            
  CallingPartySubaddress          = default                                                                                                                                                            
  BC                              = <80 90 a3>                                                                                                                                                         
  LLC                             = default                                                                                                                                                            
  HLC                             = default                                                                                                                                                            
  AdditionalInfo                                                                                                                                                                                       
   BChannelinformation            = default                                                                                                                                                            
   Keypadfacility                 = default                                                                                                                                                            
   Useruserdata                   = default                                                                                                                                                            
   Facilitydataarray              = default                                                                                                                                                            
   SendingComplete                = default                                                                                                                                                            
                                                                                                                                                                                                       
    -- CONNECT_IND (PLCI=0x101,DID=66xxxx,CID=81xxxxxxxx,CIP=0x1,CONTROLLER=0x1)                                                                                                                       
       > ISDN1#02: msn='*' DNID='66xxxx' MSN                                                                                                                                                           
  == ISDN1#02: setting format alaw - 0x8 (alaw)                                                                                                                                                        
  == ISDN1#02: Incoming call '081xxxxxxxx' -> '66xxxx'                                                                                                                                                 
CAPI: ApplId=0x0003 Command=0x08 SubCommand=0x82 MsgNum=0x0012 NCCI=0x00000101                                                                                                                         
INFO_IND                   ID=003 #0x0012 LEN=0022                                                                                                                                                     
  Controller/PLCI/NCCI            = 0x101                                                                                                                                                              
  InfoNumber                      = 0x70                                                                                                                                                               
  InfoElement                     = <c1>66xxxx                                                                                                                                                         
                                                                                                                                                                                                       
INFO_RESP                  ID=003 #0x0012 LEN=0012                                                                                                                                                     
  Controller/PLCI/NCCI            = 0x101                                                                                                                                                              
                                                                                                                                                                                                       
    -- ISDN1#02: info element CALLED PARTY NUMBER                                                                                                                                                      
       > ISDN1#02: INFO_IND DID digits not used in this state.                                                                                                                                         
CAPI: ApplId=0x0003 Command=0x08 SubCommand=0x82 MsgNum=0x0013 NCCI=0x00000101                                                                                                                         
INFO_IND                   ID=003 #0x0013 LEN=0015                                                                                                                                                     
  Controller/PLCI/NCCI            = 0x101                                                                                                                                                              
  InfoNumber                      = 0xa1                                                                                                                                                               
  InfoElement                     = default                                                                                                                                                            
                                                                                                                                                                                                       
INFO_RESP                  ID=003 #0x0013 LEN=0012                                                                                                                                                     
  Controller/PLCI/NCCI            = 0x101                                                                                                                                                              
                                                                                                                                                                                                       
    -- ISDN1#02: info element Sending Complete                                                                                                                                                         
    -- ISDN1#02: CAPI/ISDN1#02/66xxxx-2: 66xxxx matches in context capi-in                                                                                                                             
       > chan_capi devicestate requested for ISDN1#02/66xxxx is 'Ringing'                                                                                                                              
    -- Executing [66xxxx@capi-in:1] capicommand("CAPI/ISDN1#02/66xxxx-2", "deflect|0170xxxxxxx") in new stack                                                                                          
[Mar 22 21:43:03] WARNING[13863]: pbx.c:956 pbx_exec: The application delimiter is now the comma, not the pipe.  Did you forget to convert your dialplan?  (capicommand(deflect|0170xxxxxxx))          
    -- capicommand: 'deflect' '0170xxxxxxx'                                                                                                                                                            
  == Started pbx on channel CAPI/ISDN1#02/66xxxx-2                                                                                                                                                     
CAPI: ApplId=0x0003 Command=0x08 SubCommand=0x82 MsgNum=0x0014 NCCI=0x00000101                                                                                                                         
ALERT_REQ                  ID=003 #0x000a LEN=0018                                                                                                                                                     
  Controller/PLCI/NCCI            = 0x101                                                                                                                                                              
  AdditionalInfo                                                                                                                                                                                       
   BChannelinformation            = default                                                                                                                                                            
   Keypadfacility                 = default                                                                                                                                                            
   Useruserdata                   = default                                                                                                                                                            
   Facilitydataarray              = default                                                                                                                                                            
   SendingComplete                = default                                                                                                                                                            
                                                                                                                                                                                                       
FACILITY_REQ               ID=003 #0x000b LEN=0036
  Controller/PLCI/NCCI            = 0x101
  FacilitySelector                = 0x3
  FacilityRequestParameter        = <0d 00 12 01 00 0e 00 00 00>0170xxxxxxx<00>

ISDN1#02: wait for FACILITY_CONF (0x8081)
FACILITY_REQ               ID=003 #0x000b LEN=0036
  Controller/PLCI/NCCI            = 0x101

INFO_RESP                  ID=003 #0x0014 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1#02: info element CHANNEL IDENTIFICATION 89
CAPI: ApplId=0x0003 Command=0x08 SubCommand=0x82 MsgNum=0x0015 NCCI=0x00000101
INFO_IND                   ID=003 #0x0015 LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x8005
  InfoElement                     = default

NFO_RESP                  ID=003 #0x0015 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1#02: info element SETUP
       > ISDN1#02: IE SETUP / SENDING-COMPLETE already received.
CAPI: ApplId=0x0003 Command=0x01 SubCommand=0x81 MsgNum=0x000a NCCI=0x00000101
ALERT_CONF                 ID=003 #0x000a LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

CAPI: ApplId=0x0003 Command=0x80 SubCommand=0x81 MsgNum=0x000b NCCI=0x00000101
FACILITY_CONF              ID=003 #0x000b LEN=0022
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0
  FacilitySelector                = 0x3
  FacilityConfirmationParameter   = <0d 00 02 00 00>

    -- ISDN1#02: unhandled FACILITY_CONF supplementary function 000d
ISDN1#02: found and signal for FACILITY_CONF
ISDN1#02: cond signal received for FACILITY_CONF
    -- ISDN1#02: sent FACILITY_REQ for CD PLCI = 0x101
    -- Auto fallthrough, channel 'CAPI/ISDN1#02/66xxxx-2' status is 'UNKNOWN'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 1
    -- ISDN1#02: activehangingup (cause=0) for PLCI=0x101
CONNECT_RESP               ID=003 #0x0011 LEN=0019
  Controller/PLCI/NCCI            = 0x101
  Reject                          = 0x2
  BProtocol                       = default
  ConnectedNumber                 = default
  ConnectedSubaddress             = default
  LLC                             = default
  AdditionalInfo                  = default

       > chan_capi devicestate requested for ISDN1#02/66xxxx is 'Not in use'
       > chan_capi devicestate requested for ISDN1#02/66xxxx is 'Not in use'
CAPI: ApplId=0x0003 Command=0x08 SubCommand=0x82 MsgNum=0x0016 NCCI=0x00000101
INFO_IND                   ID=003 #0x0016 LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x804d
  InfoElement                     = default

INFO_RESP                  ID=003 #0x0016 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1#02: info element RELEASE
CAPI: ApplId=0x0003 Command=0x04 SubCommand=0x82 MsgNum=0x0018 NCCI=0x00000101
DISCONNECT_IND             ID=003 #0x0018 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Reason                          = 0x3490

DISCONNECT_RESP            ID=003 #0x0018 LEN=0012
  Controller/PLCI/NCCI            = 0x101

       > ISDN1#02: CAPI INFO 0x3490: Normal call clearing
  == ISDN1#02: Interface cleanup PLCI=0x101

Das Problem scheint mir hier:
-- ISDN1#02: unhandled FACILITY_CONF supplementary function 000d
zu liegen.

Ach ja:
asterisk-1.6.1.18
chan_capi-1.1.4
divas4linux-melware-3.1.4-109.75-1
libcapi20-3.0.5-cm


Anbei auch ein zugehöriges capi-tracefile.

Roland
 

Anhänge

  • capitrace.tar
    10 KB · Aufrufe: 4
Zuletzt bearbeitet:
Es ist kein Fehler zu erkennen. Das "unhandled" ist nur info, dass das _CONF nicht speziell abgefangen wird und kann ignoriert werden. Das DEFLECT wird normal gesendet und der _CONF kommt auch von der Gegenstelle. Aber es wird wohl von der Gegenstelle trotzdem nicht ausgeführt...
Ich sehe zwei Möglichkeiten:
a) Die Gegenstelle, dein Provider, macht es trotzdem nicht.
b) die Zielnummer ist nicht korrekt.
Zu b), ausser der eigentlichen Nummer sind auch drei Bytes zum Typ der Nummer dabei. Diese drei Bytes sind bei chan_capi mit 0,0,0 gesetzt, was als default auch bisher gut klappt. Eventuell verlangt dein Provider hier aber echte Werte. Du könntest mal versuchen die drei Bytes auf '0x1,0x21,0x83' zu legen im chan_capi.c ca. Zeile 5325:
facnumber[0] = 0x03 + numberlen;
facnumber[1] = 0x01; /* type of facility number */
facnumber[2] = 0x21; /* number plan */
facnumber[3] = 0x83; /* presentation allowed */

Oder andere Werte nach Q.931.

Armin
 
Mit den genannten Werten in der chan_capi.c geht es auch nicht. Ich vermute den Fehler eher beim Provider (M-Net), da ich etwa zum Zeitpunkt des Ausfalls der Funktion ein DSL-Upgrade von 6 auf 18 MBit bekommen habe, wobei der Anschluss für einige Stunden ganz abgeschaltet worden ist. Laut M-Net ist die Funktion zwar weiter vorhanden, aber vermutlich hänge ich jetzt an einer anderen Hardware in der Gegenstelle....

Da ich jetzt mit call forward arbeiten kann (-> anderer thread), ist das call deflect nicht mehr so entscheidend. Ich helfe aber gern weiter beim debuggen: wo finde ich denn andere Werte für die 3 Bytes in der Q.931?

Roland
 
In der capi spec steht drin, was die drei bytes ansich bedeuten:
Byte 0: ist entweder '0' für unknown , wobei hier dann auch Bytes 1 und 2 '0' sind. Oder Byte 0 ist eine '1' und dann gelten für
Byte 1: Type of number and numbering plan (coding as for byte 0 of calling party number)
Byte 2: Presentation and screening indicator (coding as for byte 1 of calling party number)

Armin
 
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.