POZOR: Podpora protokolu SOAP bude ukončena k 1.7.2017. Funkce budou dostupné v rámci REST API local (deprecated) |
SOAP (celým názvem Simple Object Access Protocol) je protokolem pro výměnu zpráv založených na XML přes síť, hlavně pomocí HTTP. Formát SOAP tvoří základní vrstvu komunikace mezi webovými službami a poskytuje prostředí pro tvorbu složitější komunikace.
Existuje několik různých druhů šablon pro komunikaci na protokolu SOAP. Nejznámější z nich je RPC šablona, kde jeden z účastníků komunikace je klient a na druhé straně je server. Server ihned odpovídá na požadavky klienta.
SOAP je nástupce XML-RPC, ačkoliv si zapůjčuje jeho způsob přenosu dat a další vlastnosti. Obálka, hlavička a tělo komunikace je ale pravděpodobně z WDDX.
Původně ho navrhl Dave Winer, Don Box, Bob Atkinson a Mohsen Al-Ghosein v roce 1998 za podpory firmy Microsoft (kde tou dobou Atkinson a Al-Ghosein pracovali). Dnes je SOAP specifikace držena XML skupinou tvořící internetové protokoly z W3C konsorcia.
Zdroj http://cs.wikipedia.org/wiki/SOAP
Tento dokument popisuje základní metody pro integraci pobočkové ústředny s Informačním systémem, CRM a dalšími systémy. Umožňuje ovládat ústřednu z pohledu administrace tzn. založit linku, změnit parametry atp. Dále umožňuje získávat informace o aktuálních stavech jako jsou aktuální hovory, stav vyzvánění u linek. Umožňuje také periodicky získávat CDR.
Probíhá na bázi http basic auth. Heslován je přístup k wsdl souboru. Komunikace je šifrovaná. Login a heslo pro přístup k souboru je přebírán z definice uživatelů v ústředně („Uživatelé“).
URL pro autentizaci: https://IP_ustredny/…ap/ipbx.wsdl
Pro připojení k SOAP serveru je nutné v administračním rozhraní ústředny vytvořit uživatele s právy SOAP.
Celé názvosloví bylo zvoleno tak, aby korespondovalo s již zavedeným názvoslovím ve světě PBX.
Místo Line byl zvolen zkrácený název Exten od slova Extension, které znamená v překladu pobočková linka.
Dokumentace viz http://cdn.ipex.cz/ipbx.wsdl
getExtenCalls -> protože linka může současně vést několik hovorů, funkce vrací pole vedených
hovorů. Informace o aktuálních hovorech v ústředně.
Zde definujeme funkce, které potřebujeme pro základní interakci našeho IS s ústřednou.
Příklad odchozího volání v jazyce PHP. Zavolá linku uživatele, který chce odchozí hovor
uskutečnit. Po zvednutí sluchátka je iniciován hovor na volané číslo.
<?php
$username="soap";
$password="soapheslo";
$client = newSoapClient("https://IP_ustredny/ipbx/soap/wsdl.php",array('encoding'=>'UTF-8','trace'=>1,'exceptions'=>1,'login'=>$username,'password'=>$password));
// zavolej na telefonni cislo
try {
$out=$client->__soapCall("originateExten",array("from"=>"85","to"=>"0575750957","callerId"=>"85"));
print_r($out);
}
catch (Exception $e)
{
print_r($e);
};
?>
Další příklady k jednotlivým funkcím jsou k dispozici v repozitáři examples - https://bitbucket.org/ipex/examples