sipgate / sipgate.io

Create custom telephony integration solutions. Play audio files, manage your devices, reject the call, present dial tone menus or just create statistics. Adapt telephony to your business needs, control your home automation with your phone or just create that funny hack to make using the phone more enjoyable. @sipgate.io, https://twitter.com/sipgateio
https://www.sipgate.io
Other
200 stars 32 forks source link

Komplexere (Nested) Aktionen (mit Play und/oder Gather) #129

Closed smb closed 6 years ago

smb commented 6 years ago

Es sollte möglich sein, nach einer / Aktion noch weitere Aktionen auszuführen (Dial, Gather, Reject, Hangup) - so dass ein Soundfile zum Beispiel auch als "Ablehnungs"-Grund genutzt werden kann.

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Play>
        <Url>http://example.com/example.wav</Url>
    </Play>
    <Reject reason="busy" />
</Response>

Konkrete Beispiele:

  1. Prüfung Anrufer (Code-Eingabe mit Gather) - Ansage, dass Code nicht korrekt ist mit Play und dann Reject/Hangup
  2. Prüfung Zeitraum (Erkennung Arbeitstag oder ggf. sogar Anwesenheit einzelner Personen über Kalender) und Umleitung an andere Nummer (oder Voicebox) oder sogar Reject nach eigener Ansage mit Play
bfncs commented 6 years ago

Um komplexere, mehrschrittige Interaktionen umzusetzen, kannst mit der callId aus dem Push-Request zu jeder Zeit im laufenden Call unsere RTCM-API benutzen. Damit kannst du alle von dir beschriebenen Szenarien umsetzen.

smb commented 6 years ago

Danke! Hatte die Verbindung zur REST / RTCM übersehen.

Was mir beim Durchschauen der REST API aufgefallen ist:

Ich habe ja die Möglichkeit Telefone ohne Benutzer anzulegen (so würde ich wahrscheinlich Service-Hotlines realisieren, da hier ja kein Benutzer notwendig ist sondern alles über API gesteuert und an eine (oder mehrere) Zielnummern weitergeleitet wird).

Leider kann man anscheinend über die REST API nicht auf diese Devices Zugreifen (Forwardings nur über Userid/Phoneline/Device möglich). Ist das beabsichtigt oder ist hier eine Änderung er API möglich?