Обнаружил интересное явление. Для начала минуточку внимания.
Простейшие настройки IAX2 пиров:
iaxconf:
[customer](!)
host=dynamic
auth=md5
disallow=all
allow=alaw
username=techsupport
type=friend
context=from-customers
[customer_id](customer)
context=from-unregistered-customers
secret=customer_pass
callerid="Unregistered Customer"
[customer_1234](customer)
secret=570a56
callerid="<My good customer" <1234>
Как видим, определен шаблон, и далее по нему определяются два юзера, при этом у одного из них собственный context. Так вот этот контекст как-то странно переопределяется:
snowflake*CLI> iax2 show users
customer_1234 570a56 000000000000002 from-customers No Caller
customer_id customer_pass 000000000000002 from-customers No Caller
Внимание, вопрос: почему у customer_id значение context не переопределено, а взято из шаблона!?
Проведем простой эксперимент. Уберем context из шаблона, и добавим его второму пиру, где его не было:
iaxconf:
[customer](!)
host=dynamic
auth=md5
disallow=all
allow=alaw
username=techsupport
type=friend
[customer_id](customer)
context=from-unregistered-customers
secret=customer_pass
callerid="Unregistered Customer"
[customer_1234](customer)
secret=570a56
callerid="<My good customer" <1234>
context=from-customers
Смотрим:
CLI:
snowflake*CLI> iax2 show users
customer_1234 570a56 000000000000002 from-customers No Caller
customer_id customer_pass 000000000000002 from-unregister No Caller
Все как положено. Самое интересное, что snowflake*CLI> iax2 show peer customer_id всегда показывает правильный context - from-unregistered-customers, но при этом направляет звонок в from-customers, туда куда указано в iax2 show users...
Вот такая вот штука...