Asterisk 11 за nat, немає звуку в одну сторону, ні чутності

Подолання NAT для Asterisk буває дуже складним завданням (немає звуку), тому як RTP трафік і SIP сигналізація йдуть окремо. В інтернеті практично всі описи налаштувань опції NAT, зводяться до більш старим версія Asterisk 1.8. Спробуємо розглянути опції налаштувань, для актуального Asterisk 11. Якщо у вас немає звуку, немає звуку в одну сторону, ні чутності, прочитайте уважно цю інструкцію.
Варто зауважити що починаючи з версії Asterisk 11: nat = yes застаріло, і необхідно використовувати nat = force_rport, comedia.
SIP клієнти і Asterisk за NAT
Є два основні варіанти, коли Asterisk знаходиться за NAT: externaddr і extern хост.
«Externhost = hostname [: port]» той же що і «externaddr» тільки це 'hostname' оновлюється через «externrefresh» секунд (за замовчуванням 10сек.).
Обробка RTP медіа потоків.
У тому випадку коли ви використовуєте зовнішнього VoIP провайдера, а ваш Asterisk перебувати за NAT пристроєм, необхідно використовувати опцію directmedia = no.
Asterisk буде завжди використовувати симетричний режим RTP, як визначено в RFC 4961, це означає те, що Asterisk завжди буде відправляти пакети з того ж порту, і то якого їх отримав. Значення за замовчуванням directmedia = yes. так що якщо у вас є кінцеві точки за NAT, ви повинні встановити опцію directmedia = no.
ICE / STUN / TURN використання може бути включено глобально або для конкретного бенкету, за допомогою icesupport опції, за замовчуванням ця опція вимкнена.
Задати діапазон використовуваних RTP портів можна в rtp.conf: