Problem beim SMS-Versand am internen S0-Bus. Channel bleibt belegt.

Prometheuz

Neuer User
Mitglied seit
24 Mai 2006
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo Community,

ich habe hier ein kleines Testprogramm zum Versenden von SMS, das die Asterisk-Java API verwendet.
Wenn ich nun eine SMS versende, dann bleibt der Channel belegt, so dass ich 2 SMS versenden kann und dann Asterisk neu starten muss um die Channels wieder freizugeben.

Dieses Problem tritt jedoch nur bei neueren Asteriskversionen hinter einer Siemens-Telefonanlage an einem internen S0-Bus auf. Getestet habe ich es mit Asterisk 1.2.1, Asterisk 1.2.3 und Asteriskversion 1.2.7.1. Bei der älteren Asteriskversion 1.0.7 habe ich dieses Problem hinter der Siemens-Telefonanlage an einem S0-Bus nicht. Außerdem tritt dieses Problem bei keiner Asteriskversion auf, wenn ich direkt an den T-ISDN-Anschluss gehe ohne Siemens-Telefonanlage dazwischen.

Kann jemand das Problem nachvollziehen? Weiß jemand eine Lösung? Oder ist das ein Bug?

Gruß Prometheuz

Konfiguration:
AVM FritzCard PCI
SuSe Linux 9.3
CAPI-Treiber 2.0
chan_capi-cm 0.6.5
Telefonanlage Siemens HiPath
 
Ein verbose log von einer solchen 'haengenden' Verbindung koennte helfen.

Armin
 
Folgendes spuckt die CLI aus:

Code:
*CLI>   == Parsing '/etc/asterisk/manager.conf': Found
  == Manager 'asteriskmanager' logged on from 57.199.128.196
       > data = g1/00193010
       > parsed dialstring: 'g1' 'NULL' '00193010' ''
       > capi request group = 2
       > parsed dialstring: 'g1' 'NULL' '00193010' ''
  == ISDN1: Call CAPI/ISDN1/00193010-0   (pres=0x00, ton=0x00)
CONNECT_REQ ID=001 #0x0003 LEN=0051
  Controller/PLCI/NCCI            = 0x1
  CIPValue                        = 0x1
  CalledPartyNumber               = <80>00193010
  CallingPartyNumber              = <00 80>
  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

CONNECT_CONF ID=001 #0x0003 LEN=0014
  Controller/PLCI/NCCI            = 0x101
  Info                            = 0x0

    -- ISDN1: received CONNECT_CONF PLCI = 0x101
       > CAPI devicestate requested for ISDN1/00193010
       > CAPI devicestate requested for ISDN1/00193010
INFO_IND ID=001 #0x0000 LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x800d
  InfoElement                     = default

INFO_RESP ID=001 #0x0000 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element SETUP ACK
INFO_IND ID=001 #0x0001 LEN=0016
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x18
  InfoElement                     = <89>

INFO_RESP ID=001 #0x0001 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element CHANNEL IDENTIFICATION 89
INFO_IND ID=001 #0x0002 LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x8002
  InfoElement                     = default

INFO_RESP ID=001 #0x0002 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element CALL PROCEEDING
INFO_IND ID=001 #0x0003 LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x1e
  InfoElement                     = <80 88>

INFO_RESP ID=001 #0x0003 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element PI 80 88
       > ISDN1: In-band information available
INFO_IND ID=001 #0x0004 LEN=0016
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x18
  InfoElement                     = <89>

INFO_RESP ID=001 #0x0004 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element CHANNEL IDENTIFICATION 89
May 30 08:54:29 NOTICE[9112]: channel.c:2422 __ast_request_and_dial: Don't know what to do with control frame 15
INFO_IND ID=001 #0x0005 LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x8001
  InfoElement                     = default

INFO_RESP ID=001 #0x0005 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element ALERTING
INFO_IND ID=001 #0x0006 LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x1e
  InfoElement                     = <80 88>

INFO_RESP ID=001 #0x0006 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element PI 80 88
       > ISDN1: In-band information available
INFO_IND ID=001 #0x0007 LEN=0038
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x28
  InfoElement                     = 00193010 AMT GERMANCALL

INFO_RESP ID=001 #0x0007 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element DSP
INFO_IND ID=001 #0x0008 LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x1e
  InfoElement                     = <80 88>

INFO_RESP ID=001 #0x0008 LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element PI 80 88
       > ISDN1: In-band information available
INFO_IND ID=001 #0x0009 LEN=0020
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x29
  InfoElement                     = <06 05 1e 08>7

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

    -- ISDN1: info element Date/Time 06/05/30 08:55
INFO_IND ID=001 #0x000a LEN=0038
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x28
  InfoElement                     = 00193010 AMT GERMANCALL

INFO_RESP ID=001 #0x000a LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element DSP
CONNECT_ACTIVE_IND ID=001 #0x000b LEN=0025
  Controller/PLCI/NCCI            = 0x101
  ConnectedNumber                 = <01 83>00193010
  ConnectedSubaddress             = default
  LLC                             = default

CONNECT_ACTIVE_RESP ID=001 #0x000b LEN=0012
  Controller/PLCI/NCCI            = 0x101

CONNECT_B3_REQ ID=001 #0x0004 LEN=0013
  Controller/PLCI/NCCI            = 0x101
  NCPI                            = default

    -- ISDN1: sent CONNECT_B3_REQ PLCI=0x101
CONNECT_B3_CONF ID=001 #0x0004 LEN=0014
  Controller/PLCI/NCCI            = 0x10101
  Info                            = 0x0

CONNECT_B3_ACTIVE_IND ID=001 #0x000c LEN=0013
  Controller/PLCI/NCCI            = 0x10101
  NCPI                            = default

CONNECT_B3_ACTIVE_RESP ID=001 #0x000c LEN=0012
  Controller/PLCI/NCCI            = 0x10101

       > CAPI devicestate requested for ISDN1/00193010
       > Channel CAPI/ISDN1/00193010-0 was answered.
    -- Executing SMS("CAPI/ISDN1/00193010-0", "sms_queue1||+491701234567|Test                                                                              r") in new stack
    -- Executing SMS("CAPI/ISDN1/00193010-0", "sms_queue1") in new stack
    -- SMS RX 93 00 6D
    -- SMS TX 91 14 01 00 0C 91 94 71 10 14 97 39 00 F1 08 C5 BA FC 0D 1F 87 E5                                                                               B8
    -- SMS RX 95 09 01 00 60 50 03 80 55 84 40 15
    -- SMS TX 94 00 6C
INFO_IND ID=001 #0x00db LEN=0015
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x8045
  InfoElement                     = default

INFO_RESP ID=001 #0x00db LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element DISCONNECT
    -- ISDN1: Disconnect case 1
INFO_IND ID=001 #0x00dc LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x1e
  InfoElement                     = <80 88>

INFO_RESP ID=001 #0x00dc LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element PI 80 88
       > ISDN1: In-band information available
INFO_IND ID=001 #0x00dd LEN=0017
  Controller/PLCI/NCCI            = 0x101
  InfoNumber                      = 0x8
  InfoElement                     = <80 90>

INFO_RESP ID=001 #0x00dd LEN=0012
  Controller/PLCI/NCCI            = 0x101

    -- ISDN1: info element CAUSE 80 90
  == Manager 'asteriskmanager' logged off from 57.199.128.196

Ich hoffe es hilft weiter. Vielen Dank schonmal!

Gruß

Prometheuz
 
Zuletzt bearbeitet:
Also das ist jetzt durch das Log eindeutig. Von der Anlage kommt zwar ein DISCONNECT, aber Asterisk reagiert nicht wie erwartet darauf wenn chan-capi das meldet. Die Art und Weise wie der DISCONNECT von der Anlage eingeleitet wird ist ungewoehnlich und wird von chan-capi so nicht korrekt bearbeitet.
Kannst Du das Problem auch mit anderen Verbindungen (ohne SMS) reproduzieren?
Ich werde mal versuchen, ob man hier in chan-capi diesen Fall besser behandeln kann.
Hast du schon mal chan-capi HEAD getestet? Da habe ich einige Sachen schon umgestellt, eventuell ist das hier schon anders.

Armin
 
Ich habe jetzt mal die chan-capi HEAD benutzt, es gab aber leider kein Unterschied zu vorher.
Mit einer Verbindung die über Dial aufgebaut wurde habe ich dieses Problem nicht. Es wird wie erwartet nach dem trennen der Verbindung auch der Channel wieder frei gegeben.
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,873
Beiträge
2,303,506
Mitglieder
378,533
Neuestes Mitglied
PatrickSt91