Odchozi volani - prehrani audio souboru

Jak ovládat Odorik a používat služby pomocí speciálních programů a aplikací.
Odpovědět
tuxmartin
Příspěvky: 40
Registrován: sob 02. srp 2014 1:51:52

Odchozi volani - prehrani audio souboru

Příspěvek od tuxmartin »

Dobry den,
pro ucely sve monitorovaci app potrebuju v pripade dulezite udalosti zavolat na mobil upozorneni. Upozorneni mam ve frome mp3/wav souboru.

Koukal jsem na zahranicni https://www.twilio.com/ a https://www.plivo.com/ oba to umi. Ja bych vsak radsi nejakou ceskou sluzbu.

Potrebuju ze sve app zavolat na mnou zvolene cislo, prehrat mu zvukovy soubor a zavesit.
Pokud bych mohl jeste odchytnout zmacknute cislo uzivatelem, bylo by to skvele.


Ukazka jednoduchosti pouziti Twilio:

Kód: Vybrat vše

# Download the library from twilio.com/docs/libraries
from twilio.rest import TwilioRestClient

# Get these credentials from http://twilio.com/user/account
account_sid = "ACXXXXXXXXXXXXXXXXX"
auth_token = "YYYYYYYYYYYYYYYYYY"
client = TwilioRestClient(account_sid, auth_token)

# Make the call
call = client.calls.create(to="+14085551234",  # Any phone number
                           from_="+12125551234", # Must be a valid Twilio number
                           url="http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
print(call.sid)
Je neco takoveho mozne?
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: Odchozi volani - prehrani audio souboru

Příspěvek od xsouku04 »

Iniciovat hovor můžete u nás přes API pomocí zpětného volání.
http://www.odorik.cz/w/api:calls#callback

Druhou větev hovoru nasměrujete do hlasové schránky, nebo IVR tak, aby se volanému přečetla požadovaná informace.
Možnosti jako má twilio nebo plivo jsou také v plánu, i když asi to bude hodně ještě jednodušeji.
tuxmartin
Příspěvky: 40
Registrován: sob 02. srp 2014 1:51:52

Re: Odchozi volani - prehrani audio souboru

Příspěvek od tuxmartin »

xsouku04 píše:Iniciovat hovor můžete u nás přes API pomocí zpětného volání.
Možnosti jako má twilio nebo plivo jsou také v plánu i když asi to bude hodně ještě jednodušeji.
Ja jsem uvazoval, ze bych si neco podobneho zkusil napsat jako SIP klienta vyuzivajici vasi sit.
Protoze moje znalosti SIPu jsou hodne male, rad bych se zeptal na par otazek:
  • Je mozne z jednoho SIP uctu (jedna linka, jedno tel cislo) soucasne mit vice odchozich hovoru?

    Pokud uzivatel na klavesnici mobilu zmackne cislo, je mozne to detekovat na strane SIP klienta? Pokud prectu uzivateli pokyn: "pro pokracovani zadej 1" a on zmackne nejake cislo - jsem to schopny zjistit?
Dekuji za odpoved.
mobilemanic
Příspěvky: 486
Registrován: čtv 10. říj 2013 10:20:15

Re: Odchozi volani - prehrani audio souboru

Příspěvek od mobilemanic »

tuxmartin píše:Je mozne z jednoho SIP uctu (jedna linka, jedno tel cislo) soucasne mit vice odchozich hovoru?
U Odoriku bez potíží.
tuxmartin píše:Pokud uzivatel na klavesnici mobilu zmackne cislo, je mozne to detekovat na strane SIP klienta? Pokud prectu uzivateli pokyn: "pro pokracovani zadej 1" a on zmackne nejake cislo - jsem to schopny zjistit?
Obecně lze říci, že ano - buď přijde pípnutí o dané vlnové délce a nebo přímo informace v SIP zprávě "INFO" (nebo ještě zpráva dle nějakého RFC, ale to neznám). Osobně jsem to tímto směrem do vlastního SIP klienta nezkoušel, ale třeba můj Asterisk to přijímá v pohodě (připojeno na Odorik), takže rozhodně to lze :)
tuxmartin
Příspěvky: 40
Registrován: sob 02. srp 2014 1:51:52

Re: Odchozi volani - prehrani audio souboru

Příspěvek od tuxmartin »

mobilemanic píše:
tuxmartin píše:
tuxmartin píše:Pokud uzivatel na klavesnici mobilu zmackne cislo, je mozne to detekovat na strane SIP klienta? Pokud prectu uzivateli pokyn: "pro pokracovani zadej 1" a on zmackne nejake cislo - jsem to schopny zjistit?
Obecně lze říci, že ano - buď přijde pípnutí o dané vlnové délce a nebo přímo informace v SIP zprávě "INFO" (nebo ještě zpráva dle nějakého RFC, ale to neznám). Osobně jsem to tímto směrem do vlastního SIP klienta nezkoušel, ale třeba můj Asterisk to přijímá v pohodě (připojeno na Odorik), takže rozhodně to lze :)
Zkousel jsem pouzit python klihovnu pjsip, pomoci ktere jsem podle examplu napsal jednochucheho SIP klienta.
U Odoriku jsem z jedne linky volal na druhou. Obe pres interni sip url sip:*123456@odorik.cz. Volal jsem do programu Ekiga na Linuxu a antisip na Androidu. Hovor se uspesne navazal.
Kdyz jsem ale mackal cisla na ciselniku v sw telefonu, nic do me python app neprislo. Podle Wiresharku take ne.

Co delam spatne? Nemusim si z python klienta nejak dohodnout s odorik ustrednou, aby mi posilala info o zmacknutych cislech?
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: Odchozi volani - prehrani audio souboru

Příspěvek od xsouku04 »

Zkusil bych použít něco jiného než Ekiga. Opensource softwaroví klienti pro Linux jsou zabagovaní, pro testování nevhodné. Ve wiresharku to musí být vidět jak se DTMF posílá.
Nejlepší je použít RFC jako DTMF metodu. (tedy nikoli inband nebo sip info.)
tuxmartin
Příspěvky: 40
Registrován: sob 02. srp 2014 1:51:52

Re: Odchozi volani - prehrani audio souboru

Příspěvek od tuxmartin »

xsouku04 píše:Nejlepší je použít RFC jako DTMF metodu. (tedy nikoli inband nebo sip info.)
Diky, funguje.
Georgius
Příspěvky: 223
Registrován: pon 22. črc 2013 16:07:46

Re: Odchozi volani - prehrani audio souboru

Příspěvek od Georgius »

jenom doplním, že přes zpětné volání tohle používám a funguje to 100% už déle než rok - z programátorského hlediska geniálně jednoduché, jediné co musíte je zavolat api. A rovnou se dá odkud-kam a tak to může přehrávat různé hlášky a/nebo volat různým lidem.

Detailní popis:

Mějme linku 123456 a hlášku 123
Nastavíte zkrácenou volbu 456 na *0855002*123456*123 (dokumentace viz http://www.odorik.cz/w/specialni_cisla).
Na to abychom tuto hlášku přehráli uživateli na zkrácené volbě 5 pustíme níže uvedený skript s parametry 5 a 456:

Kód: Vybrat vše

#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib
import sys
mc=str(sys.argv[1])
kc=str(sys.argv[2])
user="123456"          #api user
passw="HESLODOAPI"         #api pass
linka="123456"         #linka
aut = urllib.urlencode({'user': user, 'password': passw})
f=urllib.urlopen("https://www.odorik.cz/api/v1/balance?"+aut+"") ##odeslani udaju pak se zacne volat
print "Volame z",mc,"na",kc,".Aktualni stav kreditu je: "+f.read()+"Kc"
daut = urllib.urlencode({'caller': mc, 'recipient': kc, 'line': linka})
parms=aut+"&"+daut
c=urllib.urlopen("https://www.odorik.cz/api/v1/callback", parms) ##odeslani udaju pak se zacne volat
print c.read()
.. a je to. Pokud skript voláme na vlastním serveru, lze se takto vybodnout na kontrolu vstupů ;-)
tuxmartin
Příspěvky: 40
Registrován: sob 02. srp 2014 1:51:52

Re: Odchozi volani - prehrani audio souboru

Příspěvek od tuxmartin »

Georgius píše:jenom doplním, že přes zpětné volání tohle používám a funguje to 100% už déle než rok - z programátorského hlediska geniálně jednoduché, jediné co musíte je zavolat api. A rovnou se dá odkud-kam a tak to může přehrávat různé hlášky a/nebo volat různým lidem.
Ja mam jiny problem:
  • V pripade nejake udalosti potrebuju z textu udelat wav/mp3.

    Zavolat na mobil a prehrat vzkaz. Pote se zeptat, co chce uzivatel delat 1=potvrdit, 2=volat dalsimu, 3=...

    Podle volby zavolat externi progam, pripadne zavolat nejake API.
Aktualne mam skript v pythonu, ktery vse uvedene umi. Na generovani zvuku z textu pouziva festival.

Funguje i hlasovy automat. Jenom mam problem, ze skript obcas spadne. Umel/chtel byste se na to podivat?
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: Odchozi volani - prehrani audio souboru

Příspěvek od xsouku04 »

Připravujeme podobné rozhraní jako má twilio nebo plivo, jen výrazně jednodušší. To by snad mohlo být řešení. V první fázi ale nepůjde přehrát libovolná hláška, ale půjde jen aplikací určit směrování hovoru. Hlášky půjdou použít jen ty, co jsou předem připravené.

Ukázka takového ovládací URL http://www.odorik.cz/test.txt?from=0042 ... ine=300100
Odpovědět