Заметил недавно что нет звука при звонке с IP-телефона на другой IP-телефон которые оба находились за одним и тем же NAT (роутером).
По этому в конфигурации sip.conf для этих аккаунтов нужно указать что они за NAT, указав параметр:
nat=force_rport,comedia
Хочу заметить что значение yes для nat уже устарело начиная с версии Asterisk 11, по этому правильно будет как указанно выше.
И указать также на no для параметра directmedia, чтобы Asterisk не отправлял пакеты на тот же порт из которого их получил (что в моём случае и произошло, оба телефона подключались к Asterisk с одного IP, с одинаковыми портами):
directmedia=no
Раньше в старых версиях asterisk вместо directmedia=no использовался canreinvite=no.
Чтобы поддерживалось NAT соединение укажем параметр qualify:
qualify=yes
;qualify=300
Также в секции «general» можно вручную указать локальную сеть и внешний IP адрес asterisk для соединений, например:
[general]
localnet=10.10.10.0/255.255.255.240
externip=10.10.10.3
directmedia=no > directmedia=nonat