اطلاعیه

بستن
No announcement yet.

اصلاح callerid در Attended Transfer

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    اصلاح callerid در Attended Transfer

    یکی از مشکلاتی که در استریسک با آن مواجه هستیم و تقریبا یک مشکل غیر قابل حل می باشد عدم نمایش صحیح شماره تماس گیرنده در زمان انتقال تماس است . به این ترتیب که داخلی A یک تماس با داخلی B میگیرد کالر آی دی که برای داخلی B نمایش داده میشود مشخصات تلفن A می باشد و حالا داخلی B تماس را از طریق کد انتقال با هماهنگی (Attended Transfer) به داخلی C انتقال می دهد; کالر آی دی که برای داخلی C نمایش داده می شود همان کالر آی دی داخلی B است ما در بسیاری از موارد نیاز داریم کالرآی دی تماس گیرنده اصلی را ببینیم. البته در واقع این مشکل Asterisk نیست چون Asterisk یک مکز تلفن B2BUA یا (Back To Back User Agent) است.
    برای حل این مشکل ما دو راه را پیشنهاد می کنیم:
    روش اول: استفاده از هدر “P-Asserted-Identity” در SIP به این صورت که اگر مقدار آن ارسال شده باشد تلفن به جای هدر “From “ محتوای “P-Asserted-Identity”را به عنوان تماس گیرنده نمایش می دهد برای تنظیم ارسال این هدر (در Asterisk-1.8) گزینه زیر را به sip.conf اضافه می کنیم:
    کد PHP:
    [general]
    .
    .
    .
    .
    sendrpid=pai
    ...... 

    بعد در تلفن اگر قابلیت تنظیم Caller ID Header بود به RPID-PAI-FROM تغییر می دهیم.
    روش دوم: اصلاح کالر آی در Dialplan
    * نکته:در Dialplan اگر نام Variable را با prefix “ـ” (یک زیر خط) ذخیره کنیم فقط در یک زیر شاخه کانال می توان فراخوانی کرد اما اگر با prefix “__” (دو زیر خط) ذخیره کنیم در تمام انشعاب های یا دز حقیقت در تمام کانالهایی که از کانال اصلی ارث می برند می تواند فراخوانی بشود
    حال برای اصلاح کالر آی دی در تماس داخلی به داخلی به این ترتیب عمل می کنیم در ابتدای کانتکسی که شروع شماره گیری داخلی هاست دوخط زیر را اضافه کنید:
    کد PHP:

    [from-internal]
    exten _X.,1,NoOp()
    exten _X.,n,Set(__CID=${IF($["${CID}"==""]?${CALLERID(all)}:${CID})})
    exten _X.,n,Set(CALLERID(all)=${CID})
    .
    .
    &
    nbsp;exten _X.,n,Dial(SIP/${EXTEN}) 

    و برای تماسهای ورودی نیز در ابتدای کانتکس کد زیر را اضافه کنید:
    کد PHP:

    [from-pstn]

    exten s,1,NoOp()

    exten s,n,Set(__CID=${CALLERID(all)})

    .

    .



    و در پایان dialplan را reload کنید.

    نویسنده : حسن پاپی
    منبع

    من قلبی بزرگ با رویاهایی بزرگ دارم. دانسته هایمان را با هم به اشتراک بگذاریم.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X