Řízení příchozích hovorů z webové stránky

Podrobnější technické novinky a vůbec novinky a postřehy z VoIP.
Petr-II
Příspěvky: 65
Registrován: ned 30. pro 2012 12:23:24

Re: Řízení příchozích hovorů z webové stránky

Příspěvek od Petr-II »

Hodně zajímavá fce. Možná by stálo za to, udělat přehled možných využití, co koho napadne a jak zrealizoval.

Vzpomínám, jak kolega naprogramoval fci, která z tel. linky protáhlé přes faxovou kartu zjišťovala volající číslo a z databáze zákazníků dohledala zákazníka a veškeré info o něm, takže příjemce hovoru v obchodním oddělení před zvednutím telefonu již na monitoru PC měl veškeré info o volajícím.
helmut.niederman
Příspěvky: 1012
Registrován: stř 10. črc 2013 21:40:28

Re: Řízení příchozích hovorů z webové stránky

Příspěvek od helmut.niederman »

michaels píše:Odorik za URL, kterou si nastavíte v rozhraní, přidá údaje o příchozím hovoru např. hovor.php?from=00420799799081&to=00420533533005&dtmf=60200&line=300100 tyto proměnné si můžete v PHP přečíst

No a na základě nějaké vaší logiky a příkazů např.

Kód: Vybrat vše

if ( $_GET["from"] == "00420799...."
si můžete řídit, kam checte hovor dále směrovat tím, že dáte jako výstup tohoto souboru

Kód: Vybrat vše

echo "dial: neco";
Stránka musí být php a musí být na nějakém serveru, který umí php zpracovat, jinak to pozbývá celé význam.
Zase jsem z tohou jelen. Asi jsem méně chápavý :cry: . Ale mám takový nápad, nemohl byste mi takovou PhP stránku vytvořit, já bych si pak dal na svůj mujweb Volny.Cz a telefonní čísla ( from a to ) a číslo SIP linky bych tedy si nastavil/přepsal v tom PHP jakmile bych to PHP editoval v nějakém freewarovém textovém, html, hexed. editoru PSPad a pak bych tu upnul na mujweb Volny.cz. Mne jde fakt jen o to, si to vyzkoušet, jak to funguje. :oops: Byl bych vám za to moc vděčný Michaels. 8-)
Uživatelský avatar
michaels
Příspěvky: 143
Registrován: sob 18. led 2014 13:41:32

Re: Řízení příchozích hovorů z webové stránky

Příspěvek od michaels »

Kód: Vybrat vše

<?php
if ($_GET["dtmf"] =="111") {
  echo "dial:800123456";
}
elseif ($_GET["dtmf"] =="222") {
  echo "dial:*0811";
} else {
  echo "dial:0";
}
?>
Pokud si tento skript dáte jako IVR - vzdálené řízení přes web tak pokud zadáte 111 vytočí se 800123456, pokud zadáte DTMF 222 dostanete se na testovací hovor nebo pokud nezadáte nic nebo něco jiného, přečte to kredit.
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: Řízení příchozích hovorů z webové stránky

Příspěvek od xsouku04 »

Petr-II píše:Hodně zajímavá fce. Možná by stálo za to, udělat přehled možných využití, co koho napadne a jak zrealizoval.

Vzpomínám, jak kolega naprogramoval fci, která z tel. linky protáhlé přes faxovou kartu zjišťovala volající číslo a z databáze zákazníků dohledala zákazníka a veškeré info o něm, takže příjemce hovoru v obchodním oddělení před zvednutím telefonu již na monitoru PC měl veškeré info o volajícím.
Tak mne napadá ještě další možnost využití.
Třeba hlasování, nebo potvrzení účasti na večírku či akci. V úvahu připadají dvě varianty. Jedna jen ve stylu pro Ano prozvoňte tohle číslo, pro Ne jiné číslo.
Druhá je s celým IVR a volbou v podobě DTMF, kdy stačí jedno telefonní číslo a volba je hlasově potvrzena. Pokud by někdo zkusil hlasovat podruhé, může dostat hlášku o tom, že již hlasoval a jak.

Nebo u eshopu by to mohlo přečíst stav poslední objednávky předtím, než nabídne spojení s živým člověkem ...
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: Řízení příchozích hovorů z webové stránky

Příspěvek od xsouku04 »

michaels píše:Samozřejmě využití tohoto nemusí být jen pro přesměrování hovoru na nějaké číslo, ale hovor se může ukončit a dále ovládat IoT jako jsou relé atd.
Co se týče IoT, tak mi jako hlavní překážka většího nasazení připadá největší problém to, jak ono chytré zařízení vlastně ovládat, když veřejných ip adres je málo a většina lidí svoji ip adresu nemá. A IP adres verze 6 je sice spousta, ale většina poskytovatelů to nepodporuje. (Výjimkou je, zdá se, O2 ADSL/VDSL - minulý týden jsem si to vyzkoušel s fritzem a hned měl můj počítač i ipv6 - vše fungovalo dále, že by to nikdo ani nepoznal, jen byl můj počítač najednou dosažitelný na ipv6).

Často nezbývá tedy než mít alespoň jednu veřejnou stálou ip adresu, přes niž to všechno nějak tunelovat. Tedy problém se pro běžné kutily komplikuje. Hlavně tím, že neexistuje jediné řešení, které by bylo jednoduché, zdarma a fungovalo vždy. Nebo o něčem víte?

A tak mne napadá, že ovládat chytré IoT zařízení telefonním hovorem nemusí být až tak hloupé. Bohužel ale naše nová služba s voláním URL to moc neřeší, protože ve většině případů není možné prostě přímo zavolat webové stránky zařízení, protože jsou za několika NATy.

Se zařízením by ale mohlo být možno komunikovat přímo přes SIP, který sám o sobě řeší průchod přes NAT a v kombinaci s Odorikem můžete snadno hlídat i dostupnost zařízení. Necháte si posílat email, když se změní počet registrovaných zařízení na lince.
Různé složitější povely by bylo možné posílat pomocí SIP Chatu SIP SIMPLE. Jednodušší povely jdou přímo z mobilu prozvoněním různých čísel.

Zkoušel jsem si v Ruby napsat vlastního minimalisticky SIP klienta, bez použití složitých externích knihoven. http://www.odorik.cz/w/ruby_sip_client
Není to sice triviálně jednoduché, ale není to ani nic extra složitého. SIP klient se umí zaregistrovat a reagovat na příchozí hovory. Rozšířit jej, aby reagoval i na příchozí chatovací zprávy a pokyny v nich, by asi nemělo být moc složité. Bohužel programovat síťové aplikace neumím a Ruby asi není nejlepší jazyk pro širokou odbornou veřejnost. Ale mít svůj jednoduchý SIP script jako jedna z univerzálních možností jak vyřešit problém s nedostatkem veřejných ip adres, to určitě je.

Zařízení by šla pak udělat webová stránka na libovolném hostingu, co podporuje php. Ten web by prostě komunikoval s oným chytrým zařízením přes SIP. Php skript by tak nemusel mít svoji vlastní veřejnou ip adresu a mohl by běžet na jakémkoli levném/zdarma hostingu.

Pokud by se chytré zařízení mělo řídit přes IVR menu přes telefon, asi nezbývá, než na ono chytré zařízení nainstalovat Asterisk. Dnes je možné nainstalovat Asterisk i na obyčejný router s openWRT v ceně za 700 Kč. Problém je opět jen v tom, že to není pro každého úplně triviální.

Jiné řešení by mohlo být zvolit jiný podobný protokol jako je SIP. Myslím třeba jabber, pro který je snad více dostupných knihoven.


Bohužel v ČR je to tak, že velcí poskytovatelé jako UPC mají ipv4 adres stále dost a nic je tedy vážně nenutí ivp6 poskytovat. Pro ty menší je to komplikace, kterou by využila jen menšina, navíc internetu běžícím na ipv6 je v ČR naprostá menšina. Jsou ale země, kde na ipv6 běží až 50 % provozu.

p.s. Jak přes jediný USB port spolehlivě řídit množství relátek - může spínat např. elektrické přístroje a čidel (vrací stav sepnuto a rozepnuto - kontrola stavu dveří oken, pohybových čidel) jsem popsal zde.
Splichal
Příspěvky: 5
Registrován: čtv 26. zář 2013 7:38:23

Re: Řízení příchozích hovorů z webové stránky

Příspěvek od Splichal »

Dobry den,
chci se v souvislosti mozneho vyuziti teto vyborne sluzby pro ucely ovladani IoT zeptat, jak by bylo mozne provest nasmerovani na linku *007xx i pro linky bez verejneho cisla? U techoto linek neni mozne nastavit paralelni zvoneni. A pokud bych chtel tedy teto funkce vyuzit pro nejaka ovladani jen v ramci site Odorik ,nenapada me jak ?
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: Řízení příchozích hovorů z webové stránky

Příspěvek od xsouku04 »

Splichal píše:Dobry den,
chci se v souvislosti mozneho vyuziti teto vyborne sluzby pro ucely ovladani IoT zeptat, jak by bylo mozne provest nasmerovani na linku *007xx i pro linky bez verejneho cisla? U techoto linek neni mozne nastavit paralelni zvoneni. A pokud bych chtel tedy teto funkce vyuzit pro nejaka ovladani jen v ramci site Odorik ,nenapada me jak ?
Ke každé lince si můžete pořídit zdarma až 5 SIP jmen. Myslím, že by mělo být možné vytočit číslo *007xx i přímo, ale vždy jen z linky na stejném účtu. Tohle jsem netestoval.
Splichal
Příspěvky: 5
Registrován: čtv 26. zář 2013 7:38:23

Re: Řízení příchozích hovorů z webové stránky

Příspěvek od Splichal »

No jo, to ale neresi , ze kdyz vytocim z linky *311xxx dalsi linku *312xxx kde bych chtel mit v paralelnim zvoneni to webove rizeni - tak tam to paralelni zvoneni nejde nastavit :-( Ptal jsem se jen proto , jestli existuje nejaka jina moznost ,nez pak u vsech pribuznych napr. prenastavovat nyni ulozene cislo ve formatu
*312xxx na dejme tomu zkracenou volbu se SIP jmenem...
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: Řízení příchozích hovorů z webové stránky

Příspěvek od xsouku04 »

Splichal píše:No jo, to ale neresi , ze kdyz vytocim z linky *311xxx dalsi linku *312xxx kde bych chtel mit v paralelnim zvoneni to webove rizeni - tak tam to paralelni zvoneni nejde nastavit :-( Ptal jsem se jen proto , jestli existuje nejaka jina moznost ,nez pak u vsech pribuznych napr. prenastavovat nyni ulozene cislo ve formatu
*312xxx na dejme tomu zkracenou volbu se SIP jmenem...
OK, číslo v síti je možné nasměrovat na SIP jméno nebo jiné veřejné číslo.

Můžete si přesměrovat Vaše šestimístné číslo v síti. Tohle přesměrování bude použito jen v případě, že jej někdo přímo vytočí, v nastavení paralelního vyzvánění je ignorováno mimo jiné kvůli možnému zacyklení hovorů. Zde zadané číslo nebo SIP jméno musí být v síti odorik, není dovoleno zde zadat jiná čísla. Pokud chcete docílit směrování např. na mobil, zřiďte si a použijte vyhrazené SIP jméno a mobilní číslo si nastavte v jeho paralelním zvonění.
Tuto volbu může být vhodné použít především pokud volající používá BLF, protože tlačítko BLF automaticky volá číslo linky, kterou sleduje, a není možné to změnit. Volající ve svém výpise hovorů uvidí číslo nebo SIP jméno, na které jste hovor přesměrovali, tedy nepoužívejte na přesměrování žádné tajné SIP jméno čí číslo.
Přílohy
cislo_linky_na_SIP_jmeno.png
cislo_linky_na_SIP_jmeno.png (18.76 KiB) Zobrazeno 8758 x
helmut.niederman
Příspěvky: 1012
Registrován: stř 10. črc 2013 21:40:28

Re: Řízení příchozích hovorů z webové stránky

Příspěvek od helmut.niederman »

michaels píše:

Kód: Vybrat vše

<?php
if ($_GET["dtmf"] =="111") {
  echo "dial:800123456";
}
elseif ($_GET["dtmf"] =="222") {
  echo "dial:*0811";
} else {
  echo "dial:0";
}
?>
Pokud si tento skript dáte jako IVR - vzdálené řízení přes web tak pokud zadáte 111 vytočí se 800123456, pokud zadáte DTMF 222 dostanete se na testovací hovor nebo pokud nezadáte nic nebo něco jiného, přečte to kredit.
Tak jsem si to vyzkoušel a bohužel to nefunguje :cry: Jakmile jsem vytočil nomandické číslo, hovor se spojil a rychle odpojil, doba hovoru 1. Sekunda.
Otevřel jsem si PSPad editor a zkopíroval ten php script co jste sem vložil a uložil jsem to jako "odorik.php " ten jsem následně uploadnul na mujweb, takže výsledná url adresa je http://mujweb.cz/defcon/Odorik.php

Pak po přihlášení do účtu Odorik jsem nastavil vzdálené řízení přes web viz screenshoty a pak v paralelním zvonění u nomandického čísla jsem zadal *0071. Číslo jsem pak vytočil z mobilu, kde mám neomezené volání a hovor se rozpadl během 1.sekundy. Co jsem dělal špatně ? Testoval jsem to v jednom odorčím účtu a ptám se tedy, jestli to nesouvisí s tím, že na tom jednom odorčím účtu je záporný zůstatek ? Není to tím ? Nebo čím to je, že to nefungovalo ? Tady jsou dva screenshoty. Díky za radu, jak to zprovoznit, aby fungoval ten script ?.
Odorik_rizenipresweb_1.JPG
Odorik_rizenipresweb_1.JPG (44.7 KiB) Zobrazeno 8753 x
Odorik_rizenipresweb_2.JPG
Odorik_rizenipresweb_2.JPG (21.05 KiB) Zobrazeno 8753 x
Odpovědět