neděle 26. června 2016

T-Mobile VoIP a Asterisk za NATem

Je známo, že každý VoIP poskytovatel má řešení připojení dle svojí IP technologie, znalostí techniků dohledového centra a obchodní politiky prodeje služby atd.. Z toho vyplývá podstata problému připojení hlasových služeb, protože co funguje u jednoho operátora to u jiného fungovat z největší pravděpodobností nebude. Proto je zde popis připojení VoIP účtů do komunikačního systému Asterisk, který je umístěn za NATem (operátor T-Mobile (obdoba podobného připojení jako u O2 Centrex, ale zde to není nesmyslně blokované)). Jistě to není jediné řešení, ale pro mé potřeby dostačující a sloužící jako zápisek postupu oživení.

Pro připojení "Hlasové linky Premium", potřebujeme od operátora znát (z oficiálního dokumentu T-Mobile s drobnými úpravami):
  1. Telefonní číslo – telefonní číslo ve tvaru 420123456789
  2. Uživatelské jméno – telefonní číslo ve tvaru 420123456789
  3. Přístupové heslo – je uvedeno na přístupové kartě pro službu a má podobu 12ti místného čísla.
  4. adresa SIP serveru: sip.tmip.cz
  5. adresa registračního SIP serveru: sip.tmip.cz
  6. adresa SIP GW: sip.tmip.cz
Pro provoz Telefonní linky Premium jsou používány následující porty a protokoly, které musí prostupovat přes firewally:
  1. TCP a UDP protokol na portu 5060 a 5061 (pro signalizaci)
  2. UDP protokol pro RTP přenos na portech 16348-32768 (pro přenos hlasu)
Doporučuje se používat STUN server ani PROXY server. V některých zařízeních ale nemůže zůstat nevyplněný, v tomto případě je nutné zadat ims.tmobile.cz. Rovněž se doporučuje deaktivovat zasílání Keep-alive Message pro UDP. Pro správnou funkčnost přesměrování a předávání hovoru musí mít koncové zařízení aktivované zasílání Prack zpráv.
Nároky na kvalitu internetového připojení
  • latence: max. 200 ms
  • ztrátovost: max. 1 %
  • jitter: max. 30 ms
  • rychlost uploadu pro jedno tel. číslo min. 50 kbps pro faxy doporučujeme min. 100 kbps
Pro telefonování prostřednictvím IP musí být správně nastavené podporované protokoly, a to v pořadí: G.729 (G.729 v Asterisku zbytečně vytěžuje CPU a je licencován),
G.711 a-law, G711 u-law. V případě dostatečné rychlosti linky je možné na telefonu povolit i kodek G.722 pro hovory mezi IP telefony na stejné ústředně v kvalitě HD voice. Jiné protokoly nejsou podporovány.Nastavení Asterisku:

sip.conf
[general]
port = 5060
bindaddr = 0.0.0.0                           ; IP adresy kde Asterisk poslouchá
externip = 46.13.203.38                   ; IP adresa serveru T-mobile ; důležité pro příchozí hovory
localnet = 10.0.0.1/255.255.255.0    ; identifikace lokalní sitě s Asteriskem
;nat=force_rport                              ; v případě problémů nastavit (default = yes)
allowguests = no
context = fail                                    ; v pripade utoku odkaz na kontext
disallow = all
allow = alaw
language = cz

; registrace k operátorovi

register => 420123456789:321645987852@sip.tmip.cz:5060/123456789
;register => uživatel:heslo@doménaVOIP:port/extension pro příchozí hovor

;==================USERS=====================
[101]
...
[102]
...
;==================LINE====================== 

[420123456789]
type = friend
host = sip.tmip.cz
fromdomain = sip.tmip.cz
context = from_VOIP_ISP                                  ; kontext pro příchozí hovor
dtmfmode = rfc2833
insecure = invite,port                                           ; způsob vyjednání hovoru
defaultuser = 420123456789                               ; nahrazuje položku username
fromuser = 420123456789                                   ; identifikace from (CLIP)
secret = 321645987852                                         ; heslo
canreinvite = no                                                    ; drží spojení RTP přes Asterisk !!!!
                                                                               ; v nové verzi přejmenováno na "directmedia"

Nejdůležitějšími parametry jsou "externip", což pomáhá propojit vnější síť s lokální sítí a druhý nejdůležitější parametr je "canreinvite" který říká, že audio stream musí jít přes Asterisk, který už prošel NATem, tudíž koncové přistroje komunikují s Asteriskem a Asterisk s poskytovatelem. Asterisk se chová jako media gateway. Více zde.

extension.conf
[general]
static = yes
writeprotect = yes
autofallthrough = yes

[fail]                                                                                                             ; bezpečnostní kontext
exten => _X.,1,Hangup()                                                                       ; ukonči vše

[from_VOIP_ISP]
exten => 123456789,1,NoOp (number=${CALLERID(number)})     ; zobrazí internat. CLIP
same => n,Set(CALLERID(all)=${CALLERID(number):5})             ; nastaví national CLIP
same => n,NoOp(${CALLERID(all)})                                                ; zobrazí nastavení CLIP
same => n,Dial(SIP/101)                                                                       ; volá uživatele

[out]
exten => _X.,1,Set(CALLERID(all)=420123456789)    ; nastaví odchozí international ID (CLIP)
exten => _X.,n,Dial(SIP/420123456789/${EXTEN})    ; odchozí hovor pomocí
                                                                                               ; kontextu v sip.conf

V nastaveni dial plánu je důležité nastavení mezinárodního formátu čísla a to příchozí hovory dle kontextu "from_VOIP_ISP" a pro odchozí hovory dle kontextu "out". Vytočení čísla směrem k operátorovi slouží kontext "420123456789" v parametru "Dial" odkazující na sip.conf.
Popis sip.conf parametrů zde.
T-Mobile VoIP a Asterisk za NATem 2

9 komentářů:

  1. bohuzel Hlasovou Linku Premium jiz T-Mobile nenabizi. Nabizi novy produkt Telefonni Linka Premium, ktery je ale na jine technologii

    OdpovědětVymazat
  2. Nemáte prosím zkušenost po přechodu na ims.t-mobile.cz ? Nedaří se nám registrovat z T-Mobile. Odpovídá nám, že máme šptné heslo.

    OdpovědětVymazat
    Odpovědi
    1. u nas se ukazal stejny problem, podarilo se Vam to nejak vyresit?

      Vymazat
    2. To bude asi tím, že od čtvrtka tohoto týdne mají u TM problémy nebo výpadek služeb. Já mám nyní službu odpojenou a čekám až to dají v TM dokupy. Ověřeno na zákaznické lince. Domnívám se, že je problém v TM s autentizační databází.

      Vymazat
    3. vyjadreni T-Mobile:

      Vámi hlášené omezení registrace Asterisku na naší nové ústředně bylo předáno technickým oddělením ústřednářům, prověřeno a potvrzeno technické omezení. Oprava by ale poškodila všechna zařízení Panasonic, Gigaset a další, proto bylo rozhodnuto, že na naší straně opravovat nebudeme.

      Jedinou moznost jak z toho ven, je podle me, neustale podavani stiznosti na nefunkcnost hw i sw.

      Vymazat
    4. Pokračování - Adterisk za NATem 2
      https://bobanl.blogspot.cz/2016/12/t-mobile-voip-asterisk-za-natem-2.html

      Vymazat
  3. Bohužel se u mě zatím žádný přechod na jiný SIP server nekonal, takže zkušenosti s tím nemám.
    Zkuste kontaktovat poskytovatele. Pravděpodobně provádí distribuci uživatelských údajů jiným způsobem než doposud a heslo může generovat  předávat různým způsobem a proto jej nemáte platné?
    Ověřte zdali je účet u T-mobile aktivní (nezaplacená faktura, nepotvrzená smlouva atd.)
    Asterisk máte za NATem nebo na veřejné IP?
    Víc vám asi neporadím.

    OdpovědětVymazat
  4. Thanks for the great post you posted. I like the way you describe the unique content. The points you raise are valid and reasonable. If any of the final year students are looking for the raspberry pi projects

    OdpovědětVymazat