Beginn eines eingehenden Anrufes in die PBX
Parameter, die auf den Link für Benachrichtigungen geschickt werden:
- event – Event (NOTIFY_START);
- call_start – Uhrzeit des Anrufbeginns;
- pbx_call_id – ID des Anrufs;
- caller_id – Rufnummer des Anrufenden;
- called_did – Zielrufnummer.
Erstellung des Prüfungssignatur für Benachrichtigung über eingehende Anrufe, Beispiel in PHP:
$signatureTest = base64_encode(hash_hmac('sha1',
$_POST['caller_id'] . $_POST['called_did'] .
$_POST['call_start'], API_SECRET));
Für die Anfragen NOTIFY_START und NOTIFY_IVR können Sie das für den jetzigen Anruf das Szenario einfach und schnell ändern. Schicken Sie hierfür eine Antwort auf den Webhook in einer der folgenden Varianten:
1. Anruf weiterleiten:
(Antwort 1)
Antwort 1:
{
"redirect": ID,
"return_timeout": TIMEOUT (необязательное)
}
wo,
- redirect - ID des Szenarios für die Weiterleitung (im Format 0-1, wobei 0 die Nummer des Menüs ist, 1 die Nummer des Szenarios); oder im Format 1, wobei 1 die Nummer des Szenarios ist (in diesem Fall wird angenommen, dass das Menü 0 ist); oder das Menü der PBX im Format 0-main, wobei 0 die ID des Menüs ist; oder eine interne Nummer der PBX (Nummer mit der Ziffern); oder „blacklist“ - in diesem Fall wird der Anruf mit einem Signalton abgelehnt;
- return_timeout - Angabe in Sekunden. Mögliche Angaben:
- 0, Anrufe wird in das Menü zurückgeleitet;
- >= 3 - Dauer des Anrufs auf eine interne Nummer, bis der Anruf auf das Menü zurückgeleitet wird;
- rewrite_forward_number - Weiterleitung auf eine Telefonnummer.
Nicht benötigter Parameter, ist nur zusammen mit dem Parameter redirect verfügbar. Wird benötigt, um die Telefonnummer für die Weiterleitung in den Einstellungen der virtuellen Telefonanlage angegeben ist, „im Fluge“ zu ändern.
2. Anruf tätigen:
(Antwort 2)
Antwort 2:
{
"hangup": 1
}
3. Name für die eingehende Nummer angeben
Sie können einen Namen für die eingehende Nummer (SIP-Feld CallerName) angeben und ihn bei eingehenden Anrufen in der App anzeigen lassen. So können Sie den Namen des Anrufenden angenehm weiterleiten, falls seine Nummer in Ihrem System bekannt ist.
(Antwort 3)
Antwort 3:
{
"caller_name": NAME
}
wo:
- caller_name - Name der Rufnummer.
In allen folgenden Varianten unten (Ziffern 4-7) kann es eine Antwort vom Abonnenten in Form von Ziffern geben. Parameter für die Eingabe der Ziffern:
(Antwort 4)
Antwort 4:
{
"wait_dtmf": {
"timeout": TIMEOUT,
"attempts": ATTEMPTS,
"maxdigits": MAXDIGITS,
"name": NAME,
"default": DEFAULT,
}
}
wo,
- timeout - Wartezeit für Angabe in Sekunden;
- attempts - Anzahl den Versuche für Zahlenangabe ;
- maxdigits - Maximale Anzahl der Zahlen auf die gewartet wird;
- name -Der Name für die Antwort;
- default - Falls keine Zahl angegeben wurde (beachten Sie, dass für die Verarbeitung eines Befehls eine Audiodatei mit dem Befehl ivr_play abgespielt werden muss, gemäß Punkt 4 unten). Mögliche Werte:
- id von Redirekt-Szenario (im Format 0-1, wo 0 - Sprachmenü-Nummer, 1 - Szenario-Nummer);
- PBX-Menü im Format 0-main, wo 0 - id Menü;
- Interne PBX-Nummer (Dreistellige Zahl);
- hangup - Anruf beenden.
4. Audiodatei wiedergeben:
(Antwort 5)
Antwort 5:
{
"ivr_play": "ID"
}
wo,
- ivr_play – Wert für die Audiodatei aus der Liste von IDs der hochgeladenen/vorgelesenen Audiodateien.
5. Beliebte Phrase wiedergeben:
(Antwort 6)
Antwort 6:
{
"ivr_saypopular": 1,
"language": "en"
}
wo,
-
ivr_saypopular – Nummer der Phrase aus der Liste;
-
Hallo
-
Guten Tag
-
Anrufumleitung
-
Anruf von der Webseite
-
Herzlich willkommen
-
Testnachricht
-
Bitte nicht auflegen
-
Sie rufen uns außerhalb der Geschäftszeiten an
-
Zurzeit sind alle Mitarbeiter belegt, wir werden Sie mit dem ersten freien Mitarbeiter verbinden.
-
Bitte die interne Nummer eingeben
-
Bitte die interne Nummer des Mitarbeiters eingeben
-
Bitte Extension eingeben
-
Bitte warten Sie
-
Bitte geben Sie eine interne Nummer ein oder warten Sie auf Anruf eines unseren Mitarbeiter
-
Bitte hinterlassen Sie eine Nachricht
-
Bitte hinterlassen Sie eine Nachricht nach dem Signalton
-
Bitte rufen Sie uns währen der Geschäftszeiten zurück
-
Wir bedanken uns für Ihren Anruf
-
Danke für Ihren Anruf
-
Bitte warten Sie auf eine Antwort
-
Ihr Anruf ist sehr wichtig für uns
-
Das Gespräch wird aufgenommen
-
Derzeit ist niemand im Büro, der Ihren Anruf entgegennehmen kann
-
Wir rufen Sie so bald wie möglich zurück
-
Heute ist bei uns keine Arbeitstag
-
name - Der Name aus letzte Antwort;
-
digits - Zahlen, die Abonnent angegeben hat;
-
default_behaviour - falls keinen Tastendruck erfolgt und Standardeinstellung eingeschaltet;
6. Ziffern wiedergeben:
(Antwort 7)
Antwort 7:
{
"ivr_saydigits": "12",
"language": "en"
}
wo,
- redirect - id Redirekt-Szenario (im Format 0-1, wo 0 - Sprachmenü-Nummer, 1 - Szenario-Nummer); oder im Format 1, wo 1 - Szenario-Nummer Sprachmenü-Nummer ist in diesem Fall 0); oder PBX-Menü im Format 0-main, wo 0 - id Menü; oder interne PBX-Nummet (Dreistellige Zahl); oder "blacklist" - in diesem Fall wird der Anruf abgebrochen mit Belegzeichen;
- return_timeout - Angabe in Sekunden. Mögliche Werte:
- 0, Der Anruf kommt nicht zurück auf Menü;
- >= 3 - Die Anruflänge auf Interne Nummer bevor der Anruf zurück auf Menü kommt
Anruf beenden:
(Antwort 8)
Antwort 8:
{
"ivr_saynumber": "123",
"language": "en"
}
In jedem Antwort können Sie zusätzlich angeben:
Name für EingangsNummer definieren:
(Antwort 9)
Antwort 9:
{
"wait_dtmf": {
"name": NAME,
"digits": DIGITS,
"default_behaviour": "1"
}
}
wo,
- caller_name - Nummer-Name.
Liste den gängigen Sätzen (Nummerierung von 1):