Спасибо за ссылку, дало немного пищи для размышлений...
Это если добавляю #31# в правило исходящего маршрута как префикс
- Код: выделить все
-- Executing [899XXXXXXXX@from-internal:1] ResetCDR("SIP/69955-00000004", "") in new stack
-- Executing [899XXXXXXXX@from-internal:2] NoCDR("SIP/69955-00000004", "") in new stack
-- Executing [899XXXXXXXX@from-internal:3] Progress("SIP/69955-00000004", "") in new stack
-- Executing [899XXXXXXXX@from-internal:4] Wait("SIP/69955-00000004", "1") in new stack
-- Executing [899XXXXXXXX@from-internal:5] Progress("SIP/69955-00000004", "") in new stack
-- Executing [899XXXXXXXX@from-internal:6] Playback("SIP/69955-00000004", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
-- <SIP/69955-00000004> Playing 'silence/1.slin' (language 'ru')
-- <SIP/69955-00000004> Playing 'cannot-complete-as-dialed.slin' (language 'ru')
-- <SIP/69955-00000004> Playing 'check-number-dial-again.slin' (language 'ru')
-- Executing [899XXXXXXXX@from-internal:7] Wait("SIP/69955-00000004", "1") in new stack
-- Executing [899XXXXXXXX@from-internal:8] Congestion("SIP/69955-00000004", "20") in new stack
[2013-12-26 14:06:39] WARNING[2467]: channel.c:4753 ast_prod: Prodding channel 'SIP/69955-00000004' failed
== Spawn extension (from-internal, 899XXXXXXXX, 8) exited non-zero on 'SIP/69955-00000004'
-- Executing [h@from-internal:1] Hangup("SIP/69955-00000004", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/69955-00000004'
Голос астера говорит Соединение невозможно, проверьте номер и перезвоните. Т.е. звонок на транк не уходит
Если добавляю как препенд, то вот
- Код: выделить все
-- Goto (macro-dialout-trunk,s,25)
-- Executing [s@macro-dialout-trunk:25] Set("SIP/69955-00000006", "pre_num=AMP:dongle/i:55555555555555/") in new stack
-- Executing [s@macro-dialout-trunk:26] Set("SIP/69955-00000006", "the_num=OUTNUM") in new stack
-- Executing [s@macro-dialout-trunk:27] Set("SIP/69955-00000006", "post_num=") in new stack
-- Executing [s@macro-dialout-trunk:28] GotoIf("SIP/69955-00000006", "1?outnum:skipoutnum") in new stack
-- Goto (macro-dialout-trunk,s,29)
-- Executing [s@macro-dialout-trunk:29] Set("SIP/69955-00000006", "the_num=#31#899XXXXXXXX") in new stack
-- Executing [s@macro-dialout-trunk:30] Dial("SIP/69955-00000006", "dongle/i:555555555555555/#31#899XXXXXXXX,300,Tt") in new stack
-- Called dongle/i:55555555555555/#31#899XXXXXXXX
Тут уже говорит голос оператора - Вы набрали неверный номер, повторите..... Тут уже звонок уходит, но судя по всему в неправильном формате(думаю мешает #31#)
Если добавляю в транк как префикс, звонок проходит как обычно, изменений никаких
И опять я все таки больше склоняюсь к мысли, что надо отправлять USSD #31#+звонить следом. Как-то так.
Кстати, насчет того, что USSD командой можно отключить глобально, так мне и надо чтоб номер всегда был скрыт. Оператору звонил, спрашиваю какие еще есть команды скрытия, говорит мол в телефоне и #31#, больше никак. Хотя там такие ламеры сидят, им верить...
Зы. IMEI модема и номер на который звоню(899XXXXXXXX) изменены естественно.