FreePBX - PJSIP Extension und SIMPLE Messaging

StarTalker

Neuer User
Mitglied seit
6 Jun 2020
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Zusammen,

leider komme ich seit einigen Tagen bei meinem Problem nicht weiter.

Ich nutze in meiner Testumgebung Zoiper 5 Pro und die FreePBX Distro mit Asterisk 13.02.0.
Soweit funktioniert alles, bis auf die Chat Funktion. Und an der bin ich gerade am verzweifeln.

Wenn ich unter extension_custom.conf folgendes eintrage, dann funktioniert zwar der Chat. Aber die internen Anrufe zwischen zwei Nebenstellen, die funktionieren nicht mehr:

Code:
exten => _XXXX,1,Set(DEVSTATE=${DEVICE_STATE(PJSIP/${EXTEN})})
 same => n,GotoIf($["${DEVSTATE}" = "UNAVAILABLE"]?errormsg1)
 same => n,GotoIf($["${DEVSTATE}" = "INVALID"]?errormsg2)
 same => n,GotoIf($["${DEVSTATE}" = "UNKNOWN"]?errormsg2)
 same => n,MessageSend(pjsip:${EXTEN},${MESSAGE(from)})
 same => n,System(curl --data "from=${MESSAGE(from)}" --data "to=${EXTEN}" --data-urlencode "message=${MESSAGE(body)}" 127.0.0.1/messagelog-internal.php?)
 same => n,Hangup()
 same => n(errormsg1),Log(NOTICE,Extension is ${DEVSTATE})
 same => n,Gosub(msg-error1,s,1(${MESSAGE(from)},${EXTEN},${DEVSTATE}))
 same => n(errormsg2),Log(NOTICE,Extension is ${DEVSTATE})
 same => n,Gosub(msg-error2,s,1(${MESSAGE(from)},${EXTEN},${DEVSTATE}))
Das ist natürlich schlecht, denn es soll ja beides funktionieren :)

Anrufe nach extern oder von extern funktionieren weiterhin. Auch kann ich an eine interne Nebenstelle einen Call weiterleiten.
Aber der Rufaufbau von einer internen an eine interne Nebenstelle wird abgebrochen.

Weiß jemand wo hier mein Denkfehler ist?

Viele Grüße
Jannis
 

sonyKatze

Aktives Mitglied
Mitglied seit
6 Aug 2009
Beiträge
1,565
Punkte für Reaktionen
145
Punkte
63
Nicht wirklich … nur zwei Tipps wie ich weiter vorgehen würde: Den DEVSTATE hast Du vermutlich schon über Vebose debuggt.

Daher würde ich Verbose- und Debug-Level auf dem Command-Line-Interface auf das Maximum setzen (irgendwas bei 6). Und schauen, ob eine sinnvolle Meldung erscheint. Wenn das nicht half, Digium Asterisk erneut mit DONT_OPTIMIZE bauen. Danach kannst Du den Quellcode mit einem Debugger durch-steppen. Leider ist das selbst für ausgebildete Informatiker in chan_pjsip einfach nur aufwendig – Digium Asterisk war und blieb schlecht programmierter Code. Daher wäre mein Tipp, zum Test auf chan_sip zurückzugehen oder ganz auf FreeSWITCH zu wechseln. Jenes Projekt probiert nicht ein babylonischer Übersetzer für eine Vielzahl an VoIP-Protokollen zu sein, sondern konzentriert sich allein auf VoIP/SIP.