Telefonie

Instalace

Na serveru, kde běží asterisk, je třeba nainstalovat službu phone gateway. Tato služba je součástí systému mluvii a instaluje se jako docker container. Služba může naslouchat na libovolném tcp portu na adrese localhost. Na tento port se budou odesílat požadavky z asterisku. V žádném případě nesmí být tcp port služby dostupný z internetu, protože samotná služba neprovádí žádnou autentizaci!

V následujících příkladech bude služba naslouchat na portu 9085.

Přesměrování hovoru do mluvii

Libovolný hovor lze v dialplanu přesměrovat do mluvii, kde vznikne sezení a provede se routing. Přesměrování se provede zavoláním http koncového bodu služby phone gateway jako v následujícím příkladě:

[mluvii-inbound]
exten => s,1,NoOp(New call to mluvii)
same => n,Answer()
same => n,Playback(beep)
same => n,Set(mluvii_result=${CURL(http://127.0.0.1:9085/phone/incoming,chan=${CHANNEL})})
same => n,GotoIf($["${mluvii_result}" = "1"]?success:failure)
same => n(success),Verbose(MusicOnHolding)
same => n,MusicOnHold()
same => n,Hangup()
same => n(failure),Hangup()

V momentě odeslání http požadavku prostřednictvím CURL() se dané volání předává systému mluvii, který ho bude dál zpracovávat.

Kromě parametru chan lze předat i další parametry, které budou uloženy jako proměnné hovoru pro vzniklé sezení a bude možné se na ně dotazovat v routingu. Například takto lze předat zvolenou položku z IVR v proměnné need:

...
same => n,WaitExten()
same => n(getonwithit),Set(mluvii_result=${CURL(http://127.0.0.1:9085/phone/incoming,chan=${CHANNEL}&need=${need})})
...
exten => 2, 1, NoOp(Call Front Office)
same => n,Set(need=FrontOffice)
same => n,Goto(s,getonwithit)

Instalace Site2Site VPN pro potřeby telefonie

Pro zřízení VPN spojení od Vás potřebujeme dodat:

  • IP adresu, ze které se budete na ústřednu připojovat
  • Seznam subnetů na vaší straně
  • Na vaší straně je třeba nakonfigurovat DNS telefonní ústředny (dodá mluvii) na 10.64.0.2, aby šla komunikace přes VPN tunel
  • Na vaší straně je třeba povolit UDP protokol

Nahrávání

Přenos nahrávek do mluvii a spárování se sezením se provádí nastavením proměnné MIXMON_POST. Pro kompatibilitu s FreePBX je vhodné toto nastavení umístit do souboru /etc/asterisk/globals_custom.conf, který FreePBX nepřepisuje.

Příklad nastavení, které záznam převede do mp3 a uploaduje jej do mluvii:

MIXMON_POST=sh -c 'AF=^{MIXMONITOR_FILENAME} && RF=`echo $AF | sed "s/\.[[:alnum:]]\+$/.mp3/"` && ffmpeg -i $AF -y -aq 100 $RF && curl -F "recording=@$RF" http://localhost:9085/phone/recording?chan=^{UNIQUEID} && rm $RF'

Po převedení do formátu mp3 je soubor odeslán do služby phone gateway. Ta nahrávku uloží do mluvii a spáruje ji se správným sezením na záladě unique id kanálu předaného v parametru chan.

results matching ""

    No results matching ""