Опыт внедрения показывет, что часто на переходном этапе нужно подружить имеющийся у заказчика сервер IP-телефонии на базе Elastix, Trixbox с собственным решением — SimpleGSM. Казалось бы, а что здесь сложного — строим IAX2-транк между серверами и делу конец. Но, не все так просто!
Задача
Имеющийся Elastix, базировался на Asterisk версии 1.4.28, а дистрибутив SimpleGSM уже на более новой версии 1.6.2.х. Разные версии Asterisk используют разную реализацию протокола IAX2, именно здесь и была проблема.
Решение
Не буду долго вдаваться в подробности, а просто покажу настройки транка.
Настройка Server1: Elastix 192.168.1.100 (Asterisk 1.4.28)
Trunk name: SGSM
Peer details:
1 2 3 4 |
host=192.168.1.169 username=su10 secret=password type=peer |
User context: el100
User details:
1 2 3 4 |
secret=password type=user context=from-trunk requirecalltoken=no |
Настройка Server 2: SimpleGSM 192.168.1.169 (Asterisk 1.6.2.x)
Trunk name: el100
Peer details:
1 2 3 4 |
host=192.168.1.100 username=el100 secret=password type=peer |
User context: SGSM
User details:
1 2 3 4 |
secret=password type=user context=from-trunk <strong>requirecalltoken=no</strong> |
Важно!!!!!
Если необходимо связать Asterisk 1.4.28 и Asterisk 1.6.2.x то нужно обязательно установить параметр requirecalltoken=no в iax_general_custom.conf