SIP vs IAX

Diskuze o telefonování a telefonních službách, rady, návody, připomínky, ...
Odpovědět
xtonda
Příspěvky: 784
Registrován: čtv 08. zář 2011 14:38:19

SIP vs IAX

Příspěvek od xtonda »

Pořídil sem si nový Android telefon, s rychlejším procesorem, podporou rychlejších datových přenosů a menší audio latencí a chci znovu zkusit dát šanci VoIP volání přes mobilní data. Z hlediska průchodu NATy, datové režie, interferencí se SIP ALG je praktičtější IAX.

Ale zajímá mě taky jestli jsou rozdíly mezi zpracováním SIP a IAX na straně Odoriku - velikosti bufferů a další technické záležitosti apod. Existuje něco proč bych měl dát přednost SIPu?
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8555
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: SIP vs IAX

Příspěvek od xsouku04 »

v [general] sekci iax.conf máme následující.

Kód: Vybrat vše

  [general]
bindport=4569     ; bindport and bindaddr may be specified
delayreject=yes
iaxcompat=no
adsi=no
srvlookup=no
language=en
bandwidth=high
disallow=all
allow=alaw:80
allow=gsm:80
allow=g729:80
allow=speex:60
allow=ulaw:80
allow=ilbc:30
allow=g722:80
codecpriority=caller
allowfwdownload=no
jitterbuffer=yes
forcejitterbuffer=yes
maxjitterbuffer=4000
maxjitterinterps=10
resyncthreshold=1500
jittertargetextra=80
encryption = no
forceencryption = no
; See https://wiki.asterisk.org/wiki/display/AST/IP+Quality+of+Service for a description of these parameters.
tos=ef
cos=5
qualifysmoothing = yes
qualify=5000
qualifyfreqok = 12000
qualifyfreqnotok = 20000
autokill=yes
minregexpire = 10
maxregexpire = 3600
maxauthreq=10
transfer=no
rtcachefriends=yes  ; Cache realtime friends by adding them to the internal list
;rtsavesysname=yes    ; Save systemname in realtime database at registration 
; Default = no
rtupdate=yes    ; Send registry updates to database using realtime? (yes|no)
rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule
      ; as if it had just registered? (yes|no|<seconds>)
      ; If set to yes, when the registration expires, the friend will
      ; vanish from the configuration until requested again.
      ; If set to an integer, friends expire within this number of
      ; seconds instead of the registration interval.
;rtignoreregexpire=yes  ; When reading a peer from Realtime, if the peer's registration
      ; has expired based on its registration interval, used the stored
      ; address information regardless. (yes|no)
calltokenoptional = 0.0.0.0/0.0.0.0
;requirecalltoken=no                                  
Jestli je to ale správně a vše se uplatní, nevím. Např. si myslím, že paketizace 80 ms u kodeků se neuplatní.
Pokud je to správně, měl by se uplatnit dynamický jitter buffer,a opět to nemám potvrzené.

IAX je předžazen SIP, tedy hovor jde nejdříve jako IAX a pak je převeden na SIP a pak jde už stejně, jako by to byl rovnou SIP hovor. Tedy prefixy včetně extra jitter bufferu by snad měly fungovat také. Nefunguje jen přepojování hovorů.
xtonda
Příspěvky: 784
Registrován: čtv 08. zář 2011 14:38:19

Re: SIP vs IAX

Příspěvek od xtonda »

Díky, i když výpis Asterisk konfiguráku je pro mě skoro až přílišný detail, dost z toho mi nic neříká.

Chápu, že IAX se pro připojení klientských aplikací příliš neprosadil a podpora v telefonech i u poskytovatelů je sporadická a použití asi dost minimální. Šlo mi o to, zda je to z vaší strany plnohodnotně otestovaná a podporovaná varianta se srovnatelnými parametry jako SIP nebo spíš experiment, který je lepší použít pouze v případě, kdy SIP selže. Ta poznámka, že je nastaven dynamický jitter buffer a paketizace, ale vlastně se neví jestli se to projeví, ve mě dělá dojem že platí spíš to druhé.

Asi pitomý dotaz, ale nemůže předřazení IAX SIPu znamenat, že se uplatní i ty SIP buffery, tedy vlastně dvakrát? V jiném vlákně o jitter bufferech se také tuším zmiňovalo, že ten adaptivní nefunguje úplně ideálně a je použit fixní a volbou portu na který se připojím si zvolím jeho velikost.

Zkusím si tedy nastavit i SIP a uvidím, jestli tam bude nějaký rozdíl v chování.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8555
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: SIP vs IAX

Příspěvek od xsouku04 »

U IAXu máme zapnutý dynamický jitter buffer. Jestli je ale skutečně a korektně použit, nevím.
Pokud je opravdu použit, předřazovat ještě fixed jitter buffer 300 ms je zbytečné.
Bohužel co se týče telefonování z Androidu, je to celé takové trochu experimentální.
Pokud Vám dobře funguje Zoiper, pro volání z androidu bych IAX před SIPem preferoval.
xtonda
Příspěvky: 784
Registrován: čtv 08. zář 2011 14:38:19

Re: SIP vs IAX

Příspěvek od xtonda »

Vyzkoušel sem hovor Zoiperem přes SIP přes Vodafone LTE (v daném místě mám otestováno že to dává 60/20, jednou se mi podařilo i 90/30 Mbit/s) a bylo to bezproblémové.

Také mám zajímavý poznatek se Zoiperem ohledně registrace k účtu po spuštění Zoiperu, pokud mám defaultní SIP účet, tak registrace proběhne ve zlomku sekundy, pokud mám defaultní IAX účet, tak registrace trvá odhadem 2 - 3 sekundy.
Odpovědět