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í.
Upozornění na nový příchozí hovor
- xsouku04
- Administrátor
- Příspěvky: 8157
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Upozornění na nový hovor
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í.
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í.
Re: Upozornění na nový hovor
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.
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.
- xsouku04
- Administrátor
- Příspěvky: 8157
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Upozornění na nový příchozí hovor
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:
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ě...
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:
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ě...
Re: Upozornění na nový příchozí hovor
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 ...
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 ...
Re: Upozornění na nový příchozí hovor
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é.
- xsouku04
- Administrátor
- Příspěvky: 8157
- Registrován: pát 15. říj 2010 11:11:44
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Upozornění na nový příchozí hovor
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.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 ...
Re: Upozornění na nový hovor
Jéé, to by bylo hezký !! Takové oboustranné API, skript vrátí co s hovorem ... napište to, prosím, do wish-listu ...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.