API rozhraní
Ústředna VoIPSUN PBX disponuje mimo Asterisk API rozhraní i jednoduchým API rozhraním, přes které lze jednoduše inicializovat hovor a ukončit (click2call) nebo zobrazit seznam aktivních hovorů. Další funkce lze doprogramovat na přání klienta.
Obsah
Vytočení čísla
Inicializovat nový hovor je možné třemi způsoby. Liší se jen v informaci, na kterou telefonní linku má ústředna zavolat předtím, než začne spojovat hovor na cílové telefonní číslo. Vytočení čísla funguje tak, že ústředna nejprve zavolá na zvolenou linku a po vyzvednutí hovoru začne okamžitě vytáčet cílové číslo.
Proměnné a jejich hodnoty:
PROMĚNNÁ - HODNOTA - popis
username - autorizační jméno - API uživatelé se nastavují v nabídce Nastavení -> HTTP API uživatelé.
password - autorizační heslo - přihlašovací heslo.
action - originate - ústředně bude předán pokyn na vytvoření nového hovoru.
dstNum - cílové telefonní číslo - číslo, na které bude hovor spojen.
srcExtenPublicNum - veřejné číslo linky - veřejné číslo linky, na kterou ústředna zavolá před vytočením cílového telefonního čísla.
srcExtenInternalNum - interní číslo linky - interní číslo linky, na kterou ústředna zavolá před vytočením cílového telefonního čísla.
srcExtenId - ID linky - ID linky, na kterou ústředna zavolá před vytočením cílového telefonního čísla. ID lze zjistit z databáze z tabulky extensions. Tento způsob je určen především pro vývojáře informačních systémů s přístupem do databáze ústředny.
dialplanName - název číslovacího plánu - pokud používáte v ústředně více interních linek se stejným číslem, tak je nutné upřesnit jméno číslovacího plánu, ze kterého se má vybrat interní linka. Jinak je parametr nepovinný.
customCDR1 - číselná nebo textová hodnota - tato hodnota bude uložena do CDR do sloupce CustomCDR1. Parametr je nepovinný.
customCDR2 - číselná nebo textová hodnota - tato hodnota bude uložena do CDR do sloupce CustomCDR2. Parametr je nepovinný.
customCDR3 - číselná nebo textová hodnota - tato hodnota bude uložena do CDR do sloupce CustomCDR3. Parametr je nepovinný.
customCDR4 - číselná nebo textová hodnota - tato hodnota bude uložena do CDR do sloupce CustomCDR4. Parametr je nepovinný.
dialerCid - telefonní číslo - telefonní číslo, které se zobrazí jako volající číslo volané lince. V případě, že dialerCid není zadán, pak se na telefonu objeví číslo 000 Dialer. Pokud si přejete jako číslo volajícího použít hodnotu z customCDR, pak použijte syntax dialerCid=customCDRX, kde X je hodnota od 1 do 4. Parametr je nepovinný.
monitorFilename - název souboru - název souboru se zvukovým záznamem hovoru. Parametr je nepovinný. Pokud si přejete hovor nahrávat, pak musíte mít zapnuté nahrávání hovoru v nastavení linky.
overrideCallerId - telefonní číslo - telefonní číslo, které se zobrazí, jako číslo volajícího cílovému telefonnímu číslu, které vytočí dialer. Parametr je nepovinný, pokud není zadán, použije se číslo volajícího z dané linky.
Vyberte pouze jeden způsob vytočení linky (srcExtenPublicNum,srcExtenInternalNum, srcExtenId). Pokud jich vyberete více, ústředna hovor nevytočí a vrátí chybovou hlášku v JSON formátě.
{"success":"false","reason":"Use only one of next variables: srcExtenPublicNum, srcExtenInternalNum, srcExtenId"}
Příklady vytočení hovoru
Vytočení čísla se zadáním veřejného čísla linky - proměnná srcExtenPublicNum:
http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=originate&srcExtenPublicNum=299299000&dstNum=800123456
Vytočení čísla se zadáním interního čísla linky - proměnná srcExtenInternalNum.
http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=originate&srcExtenInternalNum=100&dstNum=800123456
Vytočení čísla se zadáním ID linky - proměnná srcExtenId.
http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=originate&srcExtenId=5&dstNum=800123456
Ukončení hovoru
Ukončit lze libovolný probíhající hovor vedený v ústředně. Seznam probíhajících hovorů a jména jejich kanálů lze zjistit pomocí další API metody listcalls.
Proměnné a jejich hodnoty:
PROMĚNNÁ - HODNOTA - popis
username - autorizační jméno - API uživatelé se nastavují v nabídce Nastavení -> HTTP API uživatelé.
password - autorizační heslo - přihlašovací heslo.
action - hangupcall - ústředně bude předán pokyn na ukončení probíhajícího hovoru.
channelName - kanál - jméno kanálu, na kterém probíha hovor.
Příklad ukončení hovoru
http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=hangupcall&channelName=SIP\5555-0000b704
Seznam probíjících hovorů
Seznam probíhajících hovorů a jména jejich kanálů lze zjistit pomocí další API metody listcalls.
Proměnné a jejich hodnoty:
PROMĚNNÁ - HODNOTA - popis
username - autorizační jméno - API uživatelé se nastavují v nabídce Nastavení -> HTTP API uživatelé.
password - autorizační heslo - přihlašovací heslo.
action - listcalls - ústředně bude předán pokyn na vrácení seznamu probíhajících hovorů. Seznam je v JSON formátě.
Příklad výpisu probíhajících hovorů
http://IP_PBX/api/api.php?username=voipsun&password=secretpwd&action=listcalls
Vrácené hodnoty v JSON formátě
{"success":"true","total":"4","results":[{"channelName":"SIP/555-0000b70f","context":"incomingRouteApp-1","src":"123456789","dst":"555","duration":"529","status":"Up","accountCode":"SIP_12","sourceType":"extension","idChannel":"12"},{"channelName":"SIP/550-0000b710","context":"incomingRouteApp-1","src":"987654321","dst":"550","duration":"305","status":"Up","accountCode":"SIP_35","sourceType":"extension","idChannel":"35"},{"channelName":"SIP/upc-0000b714","context":"incomingRouteApp-1","src":"123456789","dst":"111222555","duration":"529","status":"Up","accountCode":"SIPTR_1","sourceType":"trunk","idChannel":"1"},{"channelName":"SIP/upc-0000b715","context":"incomingRouteApp-1","src":"987654321","dst":"111222550","duration":"305","status":"Up","accountCode":"SIPTR_1","sourceType":"trunk","idChannel":"1"}]}
Zpátky