Upozornění na nový příchozí hovor

Jak ovládat Odorik a používat služby pomocí speciálních programů a aplikací.
Odpovědět
Barrow
Příspěvky: 2
Registrován: sob 04. čer 2016 16:11:02

Upozornění na nový příchozí hovor

Příspěvek od Barrow »

Dobrý den,

zajímalo by mě zda-li je možné zjistit nějak zda-li probíhá nový hovor.
Myslím že by tato funkcionalita se hodila pro nějaké operátorské centra.

Nápad je můj, že bych pro linku vyplnil nějakou URL adresu který by při příchozím hovoru zavolala URL adresu s tím že by v URL se poslala zároveň informaci o čísle ze kterého hovor pochází.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Upozornění na nový hovor

Příspěvek od xsouku04 »

No ono lze jít ještě dál. Nejen, že se dozvíte o novém hovoru a kdo volá, jestli je hovor přesměrovaný a z jakého čísla a podobně. Ale bylo by možné, abyste vrátil i to, co se s hovorem má stát následovně. Tedy na jaké číslo/linku máme hovor spojit, případně jakou hlasovou zprávu přehrát. Dalo by se tak vlastně i řídit celé hlasové menu.
Tohle bohužel zatím nemáme.

Pokud jen chcete dozvědět se o příchozím hovoru, stačí jen libovolný SIP klient, který bude přihlášen na sledovanou linku.

Pokud bychom chtěli implementovat to, co chcete, možná by stačilo umožnit do rychlých kontaktů místo čísla zadat přímo URL jako http(s)://www.mojedomena.cz/nekdo_mi_vola.
Tedy kdybych si pak zavolal tento rychlý kontakt, zavolám si tohle URL. Kdo volá a kam volá bychom předali např. pomocí POST nebo GET.
A šlo by tím mimo jiné např. zapínat topení, otvírat dveře od garáže a podobně. Zdarma, protože prozvonění stačí.

No pokud bych chtěl zavolat URL u každého příchozího hovoru, dal bych mu rychlý kontakt s tímto URL do paralelního zvonění.
Barrow
Příspěvky: 2
Registrován: sob 04. čer 2016 16:11:02

Re: Upozornění na nový hovor

Příspěvek od Barrow »

Pokud by bylo možné napojit na script jak povídáte, tedy i s vracením akce / přesměrování, zpráva,.../ bylo by to super.
Teoreticky bych mohl propojit vaší Odorik ústřednu s mojím IoT systémem co mám doma, a podle parametrů by IoT vracelo zda-li doma jsem, a tedy zda-li je zbytečné vytáčet domácí linku nebo ho rovnou přehodit na můj mobil co nosím v kapse.
Škálovat by to šlo dál a dál, a myslím že tato věc má velký potenciál.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Upozornění na nový příchozí hovor

Příspěvek od xsouku04 »

V neděli jsem napsal drobný skript v ruby - sip klienta. Který se registruje jako telefon a dostává tak informace o všech příchozích hovorech na linku na kterou je registrován. Samozřejmě volat neumí.
Celé to má jen cca 60 řádků a je to velmi primitivní, tedy žádné mistrovské dílo, ale o to snadnější to může být k pochopení.

http://www.odorik.cz/w/ruby_sip_client

Výsledek je tento:
Obrázek

Přepsání do jiného jazyka by též nemělo být neměla být práce na na delší dobu než na půl hodiny. Nevím ale jak je to použitelné pro někdo, kdo má jen běžný webhosting. Je tam možnost si spouštět vlastní aplikace na pozadí? Nebo v jistých časových intervalech?

Kód sice není RFC korektní, snažím se korektně nastavovat jen ty SIP hlavičky, které mají v praxi význam. Např. specifikace vyžaduje vyplňovat v SIP hlavičkách lokální ip adresu a port. V praxi ale na tom nezáleží, protože téměř všechny SIP clienti jsou na neveřejné IP adrese za NATem, tedy tyto údaje stejně nikdo nečte, vždy se posílá tam odkud tyto pakety přišly. Totiž autoři SIPu ve své zahleděnosti na některé podstatné věci úplně zapomněli ...
Můj malinký SIP client příchozí hovory zaznamená a poté je dále ignoruje, tedy úmyslně se tváří jako právě kousnutý či od internetu odpojený Grandstream či Android (který se neodregistroval). Což je poměrně častý jev a nemělo by to způsobovat žádné problémy či vedlejší efekty.
Tuhle verzi zveřejnil kvůli své jednoduchosti a přehlednosti pro začínající programátory. Předpokládám, že udělám pokročilejší verzi, která budou odebírat informace typu BLF a zobrazovat je lokálně. Možné je i přepojování či přebírání hovorů. Mohl bych dodělat i možnost chatovat. To ale už nebude na 60 řádků a ten kdo nezná ruby by se v tom mohl ztratit.

Pravda programovací jazyk Ruby asi není nejvhodnější. Nejlepší by bylo tohle napsat v javascriptu, podobně jako aplikaci http://www.odorik.cz/aw/ . Aplikace by šla pak umístit na libovolné stránky a propojit s konkrétní funkcionalitou a designem. Tedy plán je takový to celé napsat v Ruby a poté někoho kdo má zkušenosti s javascriptem požádat o přepsání do javascriptu. Člověk co umí a používá javascript obvykle nezná a nechce se zabývat SIPem a obráceně...
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Upozornění na nový příchozí hovor

Příspěvek od Zedna »

Uz jsem to psal i zde na (trochu) podobny dotaz:

http://forum.odorik.cz/viewtopic.php?f=19&t=3307
Lze pouzit API pro stazeni vypisu hovoru (CSV/JSON/XML) a pak vyfiltrovat dle potreby
http://www.odorik.cz/w/api:calls

Myslim, ze to bude radove jednodussi, nez psat SIP klienta ...
xtonda
Příspěvky: 763
Registrován: čtv 08. zář 2011 14:38:19

Re: Upozornění na nový příchozí hovor

Příspěvek od xtonda »

Jenže tohle znamená, že to API budeš muset neustále olizovat. Pro tu kontrolu zmeškaných hovorů jak se řešilo v tom jiném vlákně to stačí olíznout třeba jednou za minutu. Pokud chci nějak bezprostředně reagovat na příchozí hovor, tak bych to musel olizovat každou sekundu, což už je takové hodně tupounské, zaregistrovat se jako SIP klient a čekat až mě server notifikuje je daleko elegantnější. A v případě použití vhodné knihovny to ani nebude nijak dramaticky složité.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8146
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Upozornění na nový příchozí hovor

Příspěvek od xsouku04 »

Zedna píše:Uz jsem to psal i zde na (trochu) podobny dotaz:

http://forum.odorik.cz/viewtopic.php?f=19&t=3307
Lze pouzit API pro stazeni vypisu hovoru (CSV/JSON/XML) a pak vyfiltrovat dle potreby
http://www.odorik.cz/w/api:calls

Myslim, ze to bude radove jednodussi, nez psat SIP klienta ...
Jo tohle je také dobré vědět. Když nám někdo volá, klikneme na tlačítko reload stránky a už vidíme na webu, kdo volá, a to i třeba v době, kdy to ještě jen zvoní. Když kliknu na číslo volajícího, hned vidím informace o zákazníkovi, který volá. Využít API je tedy většinou dostatečné. SIP klient nebo jiný obdobný mechanismus je užitečný jen pro případ, pokud by chtěl někdo s něčím vyskakovat. Což je spíše na efekt, a pokud mluvím s někým jiným, může to být docela rušivé... Když mluvím s jedním zákazníkem, nepotřebuji, aby na mne vyskakovaly informace o druhém volajícím. Z praktického pohledu jedno či dvě kliknutí navíc, kterým opravdu potvrdím svůj záměr pracovat s právě volajícím zákazníkem, není na škodu.
Georgius
Příspěvky: 223
Registrován: pon 22. črc 2013 16:07:46

Re: Upozornění na nový hovor

Příspěvek od Georgius »

xsouku04 píše:No ono lze jít ještě dál. Nejen, že se dozvíte o novém hovoru a kdo volá, jestli je hovor přesměrovaný a z jakého čísla a podobně. Ale bylo by možné, abyste vrátil i to, co se s hovorem má stát následovně. Tedy na jaké číslo/linku máme hovor spojit, případně jakou hlasovou zprávu přehrát. Dalo by se tak vlastně i řídit celé hlasové menu.
Tohle bohužel zatím nemáme.
Jéé, to by bylo hezký !! Takové oboustranné API, skript vrátí co s hovorem ... napište to, prosím, do wish-listu ...
Odpovědět