[Gelöst] Inhalt aus Facilitydataarray als Channelvariable

abw1oim

Aktives Mitglied
Mitglied seit
26 Mrz 2007
Beiträge
959
Punkte für Reaktionen
4
Punkte
18
Hardware: Diva 4BRI-8M (V 2.0)
Software: chan_capi HEAD an Asterisk 1.8.26.1


An einem PtP-Anschluss der DTAG wird - soweit vom Anrufer statt der signalierten CalledPartyNumber ursprünglich eine andere Rufnummer gewählt wurde (von der dann unbedingt auf die in CalledPartyNumber angegebene umgeleitet wurde) - die ursprüngliche Zielrufnummer als Bestandteil des Facilitydataarray übermittelt, Beispiele:

(CalledPartyNumber und CallingPartyNumber geändert, dadurch ist LEN nicht korrekt!):

Code:
CAPI: ApplId=0x0006 Command=0x02 SubCommand=0x82 MsgNum=0xb421 NCCI=0x00002801
CONNECT_IND                ID=006 #0xb427 LEN=062
  CIPValue                        = 0x10
  CalledPartyNumber               = <c1>12345
  CallingPartyNumber              = <21 83>3012345
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BC                              = <80 90 a3>
  LLC                             = default
  HLC                             = <91 81>
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = <1c 29 91 a1 26 02 01 00 02 01 0f>0<1e 02 01 02 0a 01 01 a1 02 81 00 a2 12 a0 10 a1 0e 0a 01 02 12 09>713122888
   SendingComplete                = default

Bei einem Anruf direkt auf die CalledPartyNumber ist Facilitydataarray nicht gefüllt:

(auch hier: CalledPartyNumber und CallingPartyNumber geändert, dadurch ist LEN nicht korrekt!):

Code:
CAPI: ApplId=0x0006 Command=0x02 SubCommand=0x82 MsgNum=0xb421 NCCI=0x00002801
CONNECT_IND                ID=006 #0xb421 LEN=0062
  Controller/PLCI/NCCI            = 0x2801
  CIPValue                        = 0x4
  CalledPartyNumber               = <c1>12345
  CallingPartyNumber              = <21 80>3012345
  CalledPartySubaddress           = default
  CallingPartySubaddress          = default
  BC                              = <90 90 a3>
  LLC                             = default
  HLC                             = default
  AdditionalInfo
   BChannelinformation            = default
   Keypadfacility                 = default
   Useruserdata                   = default
   Facilitydataarray              = default
   SendingComplete                = default


Nun müsste ich in der Lage sein, zu unterscheiden, ob der Anruf Richtung CalledPartyNumber direkt (also: Facilitydataarray=default) oder indirekt (also: ursprüngliche Zielrufnummer ist Element des Facilityarrays) erfolgt ist. Dafür müsste ich aber chan_capi dazu bewegen, die Daten in einer Variable an Asterisk zu übergeben. Leider habe ich augenblicklich keine Idee, wo eine entsprechende Implementierung ansetzen könnte (zumal ich mich in den Untiefen des ISDN-Protokollstacks nur unzureichend auskenne ...).
Hat hierzu jemand eine Idee oder gar eine Lösung ?
 
Zuletzt bearbeitet:

wildzero

Mitglied
Mitglied seit
5 Jul 2004
Beiträge
640
Punkte für Reaktionen
0
Punkte
18
Soll also eine Dialplanvariable im Sinne von: $capi_facilitydataarray_is_set == TRUE/FALSE verfügbar sein? Dazu müsste man etwas am chan_capi source fummeln. Bei Interesse bitte PN.
 

abw1oim

Aktives Mitglied
Mitglied seit
26 Mrz 2007
Beiträge
959
Punkte für Reaktionen
4
Punkte
18
Problem gelöst: Wenn man den richtigen QSIG-Modus der Karte einstellt, wird der entsprechende Inhalt auch brav in CALLERID(RDNIS) geschrieben.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
239,901
Beiträge
2,135,469
Mitglieder
363,494
Neuestes Mitglied
Panpower
Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via