Вы не первый с такими вопросами, их два, и лучше их рассматривать и конфигурировать раздельно.
1) Перенаправление (переадресация) через Правило по времени, и
2) Перенаправление (переадресация) входящего на мобильный с сохранением оригинального CID (прозрачный Caller ID).
1) Сделать можно ручными конфигурационными файлами и в вэб интерфейсе типа freePBX.
В первом случае понадобится GoToIfTime, куда надо направлять входящие вызовы в контексте, который указан в транке оператора.
*CLI> core show application gotoiftime
-= Info about application 'GotoIfTime' =-
[Synopsis]
Conditional Goto based on the current time.
[Description]
This application will set the context, extension, and priority in the channel
structure based on the evaluation of the given time specification. After this
application completes, the pbx engine will continue dialplan execution at
the specified location in the dialplan. If the current time is within the
given time specification, the channel will continue at <labeliftrue>. Otherwise
the channel will continue at <labeliffalse>. If the label chosen by the
condition is omitted, no jump is performed, and execution passes to the next
instruction. If the target jump location is bogus, the same actions would
be taken as for 'Goto'. Further information on the time specification can
be found in examples illustrating how to do time-based context includes in
the dialplan.
[Syntax]
GotoIfTime(times,weekdays,mdays,months[,timezone]?[labeliftrue][:labeliffalse])
2) Со вторым пунктом у вас не получится. Пропуск чужих номеров, или совершение вызовов с подстановкой другого Caller ID запрещены Законом о связи РФ. Вы можете это протестировать самостоятельно, сделав вызов через trunk_gorod с внутреннего номера, но перед Dial указать
Set (CALLERID(num)=89012345678) где 89012345678 - подставляемый вами номер оригинатора.