Используя Asterisk и FreePBX, как я могу сопоставить расширения с исходящими маршрутами?
У меня есть сервер Trixbox (Asterisk и FreePBX) с несколькими арендаторами. Мне нужно, чтобы эти звонки арендаторов осуществлялись через разные исходящие маршруты, чтобы разделить счета на стороне магистрального SIP-провайдера. По сути, расширения должны быть сгруппированы, и каждая группа должна иметь свою собственную исходящую магистраль SIP.
Раньше этого можно было достичь с помощью пользовательских контекстов во FreePBX, но эта функциональность больше не существует. Как это можно сделать сейчас? Я был бы рад перейти на другой дистрибутив VoIP, который предоставляет эту функциональность, однако мне нужно, чтобы он был основан на Asterisk и FreePBX, поскольку это то, что знает клиент.
1 ответ
Обычно мы делаем это, добавляя контексты в файл 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