سلام دوستان
من یک Cisco Call Manager دارم و یک استریسک و یک Newrock GW با 50 عدد خط شهری.درواقع تمام تماس ها از Cisco Call Manager هدایت میشود به سمت استریسک و بعد از استریسک به سمت NewRock. تعداد داخلی ها نیز بالا است.قرار است یکسری از داخلی ها بتوانند فقط از FXO 6,7 مثلا استفاده بکنند.من کدی که بروی استریسک نشوتم به این صورت است:فرض کنید این اتفاق می خواهد برای1داخلی بیفتد:[LEFT][from-cucm]
exten => _X.,1,GotoIf($[${CALLERID(num)} = 4000 ]?OK:common)
exten => _X.,n(OK),Dial(SIP/newrock/71${EXTEN:1})
exten => _X.,n,Hangup
exten => _X.,n(common),Dial(SIP/newrock/${EXTEN:1})
exten => _X.,n,Hangup()[/LEFT]
کد فوق برای یک داخلی کاملا درست کار می کند.یعنی اگر داخلی 4000 شماره ای را بگیرد به ابتدای شماره ای که گرفته 71 اضافه شده و به سمت newrock ارسال میشود و newrock هم با برداشتن 71 آنرا به سمت fxo مورد نظر هدایت می کند.حال فرض کنید این اتفاق قرار است برای 20 داخلی بیفتد:
[LEFT]
exten => _X.,1,GotoIf($[${CALLERID(num)} = 4000 4001 4002 4003 4004 ]?OK:common)
exten => _X.,n(OK),Dial(SIP/newrcok/71${EXTEN:1})
exten => _X.,n,Hangup
exten => _X.,n(common),Dial(SIP/newrock/${EXTEN:1})
exten => _X.,n,Hangup[/LEFT]
متاسفانه وقتی مواردی که باید در شرط چک شود زیاد میشود درست عمل نمیکند.شاید من فرمتش و درست ننوشتم.نظر شما چیه؟