Имеется группа из 16 пиров = 16 линий GSM шлюза GoIP, каждая линия регистрируется на Астериске как отдельный пир, у каждого пира уникальное имя (первая линия = 30011, вторая линия 30012 и так далее), с одинаковым IP-адресом и одинаковым портом. GSM шлюз распределяет запросы на исходящие звонки путем определения префикса перед номером вызываемого абонента [PREFIXGOIP]8XXXXXXXXXX, префикс уникален для каждой линии, например для первой линии он будет равен 11, для второй 12 и так далее, при этом GoIP не обращает внимание на имя пира в запросе, шлюзу без разницы какое имя пира указано, главное для него это наличие префикса перед вызываемым номером (префикс удаляется перед началом набора номера). При потере связи или сбоях сим-карты, пир принадлежащий линии где установлена эта сим, снимает регистрацию на астериске, тем самым астериск уже знает что нет смысла направлять туда вызов.
В данный момент в контексте описан маршрут по одной линии:
exten => _[78]XXXXXXXXXX,1,Dial(SIP/118${EXTEN:1}@30011);<--- В строке происходит замена 7 или 8 на 118 и вызов (11 это префикс первой линии GoIP, 8 это первая цифра набираемого номера)
Если имя линии сменим на соседнее, шлюз на это никак не реагирует, он смотрит только на префикс, ну а при смене префикса шлюз успешно меняет маршрут на новый.
Задача в том, чтобы астериск при каждом новом вызове чередовал линии GoIP, например вызывающий SIP клиент набрал один и тот же номер мобильной связи 16 раз и каждый раз вызов шёл с новой симки. Уважаемые спецы, надеюсь на Вашу отзывчивость, чувствую что ответ скрыт в переменных, но так и не могу своим серым веществом решить эту задачку.