Stránka 1 z 1

Odchozi volani - prehrani audio souboru

Napsal: úte 01. lis 2016 23:53:21
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?

Re: Odchozi volani - prehrani audio souboru

Napsal: stř 02. lis 2016 13:03:09
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.

Re: Odchozi volani - prehrani audio souboru

Napsal: čtv 03. lis 2016 0:10:32
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.

Re: Odchozi volani - prehrani audio souboru

Napsal: čtv 03. lis 2016 1:43:05
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 :)

Re: Odchozi volani - prehrani audio souboru

Napsal: ned 06. lis 2016 23:42:56
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?

Re: Odchozi volani - prehrani audio souboru

Napsal: pon 07. lis 2016 9:53:54
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.)

Re: Odchozi volani - prehrani audio souboru

Napsal: pon 07. lis 2016 10:43:14
od tuxmartin
xsouku04 píše:Nejlepší je použít RFC jako DTMF metodu. (tedy nikoli inband nebo sip info.)
Diky, funguje.

Re: Odchozi volani - prehrani audio souboru

Napsal: sob 12. lis 2016 10:53:32
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ů ;-)

Re: Odchozi volani - prehrani audio souboru

Napsal: sob 12. lis 2016 12:03:56
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?

Re: Odchozi volani - prehrani audio souboru

Napsal: sob 12. lis 2016 21:35:52
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