1. Что вы имеете ввиду под "Подменяем номер звонящего, что бы работал обратный звонок" ?
Это чтобы не набирать руками номер втрого астериска и нажать перезвонить, чтобы звонок не ушел на локальный 100 а сразу шел на то который звонил?
Из-за :3 после exten? Это указывает количество цифр в номере?
[macro-dialout-one-predial-hook]
exten => s,1,ExecIf($[${DID} = 'НОМЕР_ЛИНИИ']?Set(CallerID(name)=+7123456789})
[macro-dialout-one-predial-hook]
exten => s,1,ExecIf($[${DID} = 'НОМЕР_ЛИНИИ']?Set(CallerID(name)=${DID})
same => n,ExecIf($[${DID} = 'НОМЕР_ЛИНИИ2']?Set(CallerID(name)=${DID})
[macro-dialout-one-predial-hook]
exten => НОМЕР_ЛИНИИ,1,Set(CallerID(name)=${EXTEN})
exten => НОМЕР_ЛИНИИ2,1,Set(CallerID(name)=${EXTEN})
будет виден только номер сим