Мда, видать не много здесь спецов по MVTS :(
Разобралась сама.
Дело было в параметре hunt_stop=1. Чтоб разграничить диалпиры на город и край удобнее было писать
[Call_to_town]
...
priority=100
dst_pattern=3912......
gateway=GW1
hunt_stop=1
...[Call_to_kray]
...
priority=90
dst_pattern=391.......
gateway=GW2
...
Т.е. если звонят на номер 3912555555, то сначала звонок попадал в диалпир с более высоким приоритетом [Call_to_town], и если там звонок отбивался (User busy, Unallocated number и т.д.), то также подходил под dst_pattern=391....... Чтобы такой звонок не тыкался во второй диалпир [Call_to_kray], был прописан параметр hunt_stop=1. Однако все коварство этой команды заключается в том, что, получив от GW1 правильный isdn release code, Мера подменяет его и конечному абоненту передает No circuit/channel available.
Для предотвращения такого исхода в meraproxy.cfg секция [H.323] можно прописать q931_cause_mode=1, тогда MVTS должна передавать код, полученный от последней попытки маршрутизации. Но моя версия MVTS (Release 3.1.2) не поддерживает этот параметр. Пришлось изменить dst_pattern в [Call_to_kray], чтоб туда не попадали городские звонки, и убрать hunt_stop=1 вообще.