سلام مجدد خدمت استاد محترم
استاد با دایال پلن نویسی این مشکل را حل کردم و الان هر تغییری که لازم باشد را میتوان در DID انجام داد و تماس را برقرار کرد . با رهگیری تماس ها و کدها به این نتیجه رسیدم که در وب ایزابل یک inbound route بصورت anyDID / anyCID ایجاد کنم و کدهای کانتکس آنرا در فایل overide بازنویسی و تغییرات لازم را انجام دهم . کدهای آن به پیوست درج خواهم نمود . لطفا بررسی نموده و بفرمایید این کار انجام شده منطقی و اصولی هست یا خیر و اگر پیشنهاد و نقطه نظری دارید ممنون میشوم دریغ نفرمایید .
سولوشن این است که تمام تماس های ورودی به ایزابل ترانزیت ( واسط)با پرفیکیس مشخص باشند وپس از حذف پرفیکس از طریق ترانک خروجی به سمت مخابرات هدایت شوند . مثلا کاربر شماره 9233333333 را شماره گیری نمود ، 92 آن حذف و باقی ارقام به سمت مخابرات هدایت شود .در ضمن کالرآیدی آن اصلاح و به شناسه دلخواه تغییر یابد. این تغییرات فقط در ترانک خروجی اعمال میشوند و سایر ترانکها را تحت تاثیر قرار نمیدهد
کد
[ext-did-0001]
include => ext-did-0001-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => s,1,ExecIf($["${FROM_DID}" = ""]?Set(__FROM_DID=${EXTEN}))
exten => s,n,Set(var=${FROM_DID})
exten => s,n,Set(FROM_DID=${var:2})
exten => s,n,Set(CALLERID(num)=32333${CALLERID(num)})
exten => s,n,Set(CALLERID(name)=${CALLERID(num)})
exten => s,n,Gosub(app-blacklist-check,s,1())
exten => s,n,Set(CDR(did)=${FROM_DID})
exten => s,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => s,n,Set(CHANNEL(musicclass)=default)
exten => s,n,Set(__MOHCLASS=default)
exten => s,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => s,n,Set(CALLERPRES()=allowed_not_screened)
exten => s,n(dest-ext),Goto(ext-trunk,2,1)
;--== end of [ext-did-0001] ==--;