2017-08-15 1 views
1

Ich benutze core show channels concise, um daraus das achte Feld zu erhalten, welches die DID ist, die ich in Echtzeit auf einer Webseite anzeigen muss.Verlieren von DID beim Einschließen von benutzerdefiniertem Kontext

Aber ich muss auch das Tag aus der Von SIP INVITE-Header, um es in der CDR-Datenbank gespeichert bekommen. Dafür, wie ich mit freepbx arbeiten, die nicht extensions.conf zu bearbeiten erlaubt, fügte ich dies in /etc/asterisk/extensions_custom.conf Datei:

[from-pstn-custom] 
exten => _X.,1,NOOP("CDR Entered [from-trunk-custom]") 
exten => _X.,n,Set(fromstr=${SIP_HEADER(From)}) 
exten => _X.,n,Set(longtag=${CUT(fromstr,\;,2)}) 
exten => _X.,n,Set(tagok=${CUT(longtag,\=,2)}) 
exten => _X.,n,Set(CDR(tag)=${tagok}) 

es gut funktioniert, habe ich den Tag habe ich brauche in den CDRs. Aber jetzt, da ich diesen from-pstn-custom-Kontext hinzugefügt habe, habe ich ein Problem mit core show channels concise: das 8. Feld (DID) wird jetzt durch die Nebenstelle ersetzt, die klingelt, oder durch die Nebenstelle, die den Anruf angenommen hat.

Es ist wegen dieser Einschlüsse zu sein scheint, in der extensions.conf:

[from-pstn] 
include => from-pstn-custom  ; create this context in extensions_custom.conf to include customizations 
include => ext-did 
include => ext-did-post-custom 
include => from-did-direct 
include => ext-did-catchall  ; THIS MUST COME AFTER ext-did 

Vielleicht ist das alles, nachdem die Aufnahme von-pstn-custom nicht ausgeführt worden sein könnte, das würde erklären, dass einige Vars sind nicht festgelegt, während sie sollten. Ich habe ein Goto from-pstn am Ende von from-pstn-custom versucht, um sicherzustellen, dass die anderen Zeilen von from-pstn ausgeführt werden, aber es verursacht eine Endlosschleife. Auch versucht, die 4 enthält nach der Aufnahme von-PSTN-custom, direkt am Ende der von-PSTN-benutzerdefinierte, funktioniert nicht.

Hätten Sie eine Idee, wie Sie das richtig machen können? Oder vielleicht einen ganz anderen Weg, um diese zwei Vars (DID in Echtzeit, Tag in CDRs), wie ich kann oder die andere, aber nicht beide bekommen. Es wäre besser, AMI zu vermeiden, da das aktuelle Projekt bereits mit Aufrufen des CLI ausgeführt wird.

Dieses unter Asterisk 11.25.1 mit FreePBX 13.0.190.19 ist, Debian Linux 3.16.0-4-amd64

Danke

Antwort

0

Bitte lesen Sie, wie Dialplans

https://wiki.asterisk.org/wiki/display/AST/Dialplan

arbeitet In Ihrem Fall blockiert dieser Kontext alles, was danach enthalten ist, nur weil es ein Muster hat, das mit did beginnt, beginnend mit digit (_X.). Es blockiert nur die ersten 5 Prioritäten

Lösung wird

  1. in SIP-Trunk-Set contex = custom_rewrite
  2. , dass die Mitarbeiter alle in custom_rewrite Kontext am Ende
  3. der Sequenz von-pstn senden setzen.
  4. debuggen Stern mit -rvvv
-1

Sie die DID zu einer benutzerdefinierten Variablen mit Set (__ MYVAR = $ {EXTEN}) speichern können.

+0

Keine Notwendigkeit, freepbx tun das bereits in FROM_DID. – arheops

Verwandte Themen