Fallback SIP Trunk aktuell (easybell)

Hallo @Silas,
eine gut getestete und “unterstützte” Lösung kann ich an dieser Stelle leider nicht bieten, aber wie folgt sollte sich ein Failover ausgehend umsetzen lassen:
Beispielinhalt:

exten => s,1,NoOp(customFailover)
same => n,Set(__SPYGROUP=${MDC_CALLEE_NUM_NAT}:${MDC_CALLER_NUM})
same => n,ExecIf($[ "${MDC_HINT_HANGUP_HANDLER}" != "" ]?Set(CHANNEL(hangup_handler_push)=hdlr-hint,s,1(${MDC_HINT_HANGUP_HANDLER})))
same => n,ExecIf($[ "${MDC_HINT_HANGUP_HANDLER}" != "" ]?Set(DEVICE_STATE(Custom:${MDC_HINT_HANGUP_HANDLER})=INUSE))
same => n,Dial(PJSIP/${MDC_CALLEE_NUM_NAT}@mdc_trunk_conf-{TRUNKID},,Itb(mdc_outgoing_predial^s^1))
same => n,GoToIf($[ "${DIALSTATUS}" = "ANSWER" ]?out)
same => n,PlayBack(beep)
same => n,Dial(PJSIP/${MDC_CALLEE_NUM_NAT}@mdc_trunk_conf-{TRUNKID2},,Itb(mdc_outgoing_predial^s^1))
same => n,GoToIf($[ "${DIALSTATUS}" = "ANSWER" ]?out)
same => n,PlayBack(beep)
same => n(out),Return() 

Wichtig ist hier das man bei dem Dial() den richtigen Trunkkontext setzt, diesen kann man in der WebCLI nachsehen (mit dem Trunk einen Call durchführen oder “pjsip show registrations” und versuchen richtig zuzuordnen). Das ist hier mit {{{TRUNKID}}} gemeint, das wird also durch eine Ziffer erstetzt.

Wenn ich dein Anwendungsfall aber richtig verstanden habe, dann sind die “Ausweichtrunks” schon auf anderen Anlagen in Verwendung. Die meisten SIP Provider unterstützen keine Mehrfachregistrierung, d.h. der Trunk, der woanders aktiv ist, ließe sich so nicht nutzen (ohne zu Problemen auf der anderen PBX zu führen).

Grüße,
Steve

1 Like