[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:
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.
 
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
244,827
Beiträge
2,219,005
Mitglieder
371,520
Neuestes Mitglied
fredl_2
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.