У меня есть сервер Trixbox (Asterisk и FreePBX), на котором есть несколько клиентов. Мне нужно, чтобы эти звонки клиентов выходили по разным исходящим маршрутам, чтобы разделить счета на стороне провайдера магистрали SIP. По сути, расширения необходимо сгруппировать, и каждая группа должна иметь собственный исходящий SIP-канал.
Раньше это было достижимо с использованием настраиваемых контекстов в FreePBX, но эта функциональность больше не существует. Как это можно сделать сейчас? Я был бы рад перейти на другой дистрибутив VoIP, который предоставляет эту функциональность, однако мне нужно, чтобы он был основан на Asterisk и FreePBX, поскольку это то, что знает заказчик.
Обычно мы делаем это, добавляя контексты в файл extensions_custom.conf. Эти настраиваемые контексты включают в себя контексты по умолчанию, но прослушивают исходящие вызовы, такие как NXXNXXXXXX, 1NXXNXXXXXX, и добавляют свои коды набора, например 7777, в начало вызова. Затем вы просто настраиваете свои исходящие маршруты, чтобы определенные маршруты прослушивали соответствующие коды и удаляли их перед отправкой вызова оператору связи.
Телефоны, принадлежащие клиенту client1, будут установлены в контексте custom-client1, а телефоны client2 - в контексте custom client2.
[custom-client1]
exten => _NXXNXXXXXX,1,Dial(Local/888${EXTEN}@from-internal)
exten => _1NXXNXXXXXX,1,Dial(Local/888${EXTEN}@from-internal)
exten => _NXXXXXX,1,Dial(Local/888${EXTEN}@from-internal)
include => from-internal
[custom-client2]
exten => _NXXNXXXXXX,1,Dial(Local/889${EXTEN}@from-internal)
exten => _1NXXNXXXXXX,1,Dial(Local/889${EXTEN}@from-internal)
exten => _NXXXXXX,1,Dial(Local/889${EXTEN}@from-internal)
include => from-internal