مجله ایرانیکاسرورآموزش سرور، هاست، وردپرس و شبکه
آموزشی

چرا انتقال تماس در تلفن یالینک انجام نمی‌شود؟ رفع مشکل انتقال مستقیم و با هماهنگی

اگر انتقال تماس روی تلفن Yealink انجام نمی‌شود، تماس بعد از زدن Transfer قطع می‌شود، Blind Transfer کار می‌کند اما Attended Transfer شکست می‌خورد یا تماس پس از مشورت با داخلی مقصد دوباره به…

چرا انتقال تماس در تلفن یالینک انجام نمی‌شود؟ رفع مشکل انتقال مستقیم و با هماهنگی
خلاصه سریع این آموزش

اگر انتقال تماس روی تلفن Yealink انجام نمی‌شود، تماس بعد از زدن Transfer قطع می‌شود، Blind Transfer کار می‌کند اما Attended Transfer شکست می‌خورد یا تماس پس از مشورت با…

۲۰ دقیقه مطالعه ۰ دیدگاه ۲۱ مهر ۱۴۰۵ آخرین به‌روزرسانی
اگر انتقال تماس روی تلفن Yealink انجام نمی‌شود، تماس بعد از زدن Transfer قطع می‌شود، Blind Transfer کار می‌کند اما Attended Transfer شکست می‌خورد یا تماس پس از مشورت با داخلی مقصد دوباره به نفر اول برمی‌گردد، مشکل را نباید فقط در دکمه Transfer جست‌وجو کرد. پشت انتقال تماس در SIP چند Dialog، پیام REFER، هدر Refer-To و در انتقال مشورتی اطلاعات Replaces قرار دارد و PBX نیز باید این رفتار را پشتیبانی کند.

در این راهنما Blind Transfer، Semi-attended Transfer و Attended Transfer را از هم جدا می‌کنیم و سپس بررسی می‌کنیم Yealink دقیقاً چه SIP Messageهایی تولید می‌کند، PBX چه پاسخی می‌دهد، Replaces چگونه ساخته می‌شود، Feature Code چه زمانی وارد ماجرا می‌شود و چرا ممکن است انتقال با یک داخلی کار کند ولی با داخلی دیگر یا تماس خارجی شکست بخورد.

نکته مهم این است که Transfer Key تلفن با Feature Code مرکز تلفن یک چیز نیست. وقتی Yealink به‌صورت Native انتقال SIP انجام می‌دهد معمولاً REFER ارسال می‌شود؛ اما اگر از کدهایی مانند Blind Transfer یا Attended Transfer خود PBX استفاده کنید، انتقال می‌تواند داخل خود مرکز تلفن و با DTMF مدیریت شود. همین تفاوت یکی از بهترین سرنخ‌ها برای پیدا کردن علت خرابی است.

فهرست مطالب

Blind و Attended Transfer در Yealink چه تفاوتی دارند؟

سه روش اصلی انتقال تماس در تلفن‌های Yealink
نوع انتقال رفتار کاربر رفتار SIP معمول
Blind Transfer تماس مستقیماً به مقصد فرستاده می‌شود و انتقال‌دهنده منتظر پاسخ نمی‌ماند REFER ساده بدون Replaces
Semi-attended Transfer مقصد Ring می‌خورد و قبل از Answer انتقال کامل می‌شود REFER همراه Replaces
Attended Transfer ابتدا با مقصد صحبت می‌کنید و بعد انتقال را کامل می‌کنید REFER همراه Replaces

Yealink در مستندات فعلی خود همین سه حالت را تفکیک می‌کند. بنابراین اگر Blind Transfer سالم است ولی Attended Transfer خراب است، یکی از اولین بخش‌هایی که باید بررسی شود Replaces و Dialog دوم است؛ نه صرفاً Routing داخلی مقصد.

Blind Transfer چگونه کار می‌کند؟

فرض کنید داخلی 200 با مشتری در تماس است و می‌خواهد تماس را بدون مشورت به داخلی 201 منتقل کند.

Yealink معمولاً یک REFER می‌فرستد که مقصد جدید داخل Refer-To قرار گرفته است.

REFER sip:pbx.example.local SIP/2.0
Refer-To: <sip:201@pbx.example.local>
Event: refer

در Blind Transfer معمولی نباید انتظار Replaces مربوط به یک Consultation Dialog را داشته باشیم؛ چون انتقال‌دهنده هنوز تماس جداگانه‌ای با مقصد برقرار نکرده است.

بعد از REFER چه اتفاقی می‌افتد؟

REFER فقط به PBX یا User Agent می‌گوید تماس را به مقصد دیگری ارجاع بده. نتیجه واقعی انتقال از طریق Notificationهای مربوط به REFER قابل گزارش است.

در استاندارد REFER، NOTIFY می‌تواند نتیجه عملیات را با محتوای SIP Fragment اعلام کند.

NOTIFY sip:200@phone.local SIP/2.0
Event: refer
Subscription-State: active
Content-Type: message/sipfrag;version=2.0

SIP/2.0 100 Trying

و بعد از موفقیت:

Content-Type: message/sipfrag;version=2.0

SIP/2.0 200 OK

اگر REFER پذیرفته شود ولی عملیات انتقال در مرحله بعد شکست بخورد، ممکن است خود REFER موفق باشد اما NOTIFY نتیجه ناموفق را گزارش کند. به همین دلیل فقط پاسخ REFER را نبینید؛ جریان NOTIFY را هم بررسی کنید.

آیا باید بعد از REFER دنبال 200 OK باشیم یا 202 Accepted؟

در RFC 3515 اولیه، پاسخ 202 Accepted برای REFER پذیرفته‌شده استفاده می‌شد. اما RFC 7647 این رفتار را به‌روزرسانی کرده و استفاده از 202 را Deprecated کرده است؛ پیاده‌سازی مطابق استاندارد جدید باید 200 OK برگرداند.

بنابراین در شبکه واقعی ممکن است هر دو را ببینید:

پاسخ REFER در پیاده‌سازی‌های مختلف
پاسخ برداشت
200 OK رفتار مورد انتظار در پیاده‌سازی مطابق RFCهای جدید
202 Accepted رفتار Legacy؛ باید مانند 200 پذیرفته‌شده تلقی شود
403 Transfer توسط Policy یا Permission رد شده است
404 Resource یا مقصد Transfer پیدا نشده است
405 REFER روی آن Server یا مسیر مجاز نیست

Attended Transfer چرا پیچیده‌تر است؟

در انتقال مشورتی ابتدا تماس اصلی وجود دارد، سپس Yealink یک تماس دوم با مقصد انتقال ایجاد می‌کند.

مثلاً:

سه طرف Attended Transfer
طرف نقش
A کاربر Yealink که انتقال را انجام می‌دهد
B تماس اصلی
C مقصد جدید انتقال

A ابتدا B را Hold می‌کند، با C تماس می‌گیرد و بعد از مشورت Transfer را کامل می‌کند.

برای اینکه سیستم بفهمد کدام Dialog باید با کدام Dialog جایگزین شود، اطلاعات Replaces اهمیت پیدا می‌کند.

Replaces چیست؟

هدر Replaces در RFC 3891 تعریف شده و برای جایگزین‌کردن یک SIP Dialog موجود با Dialog جدید استفاده می‌شود. Attended Transfer یکی از کاربردهای اصلی آن است.

در عمل ممکن است Refer-To چیزی شبیه این باشد:

Refer-To: <sip:201@pbx.example.local?Replaces=abc123%40pbx%3Bto-tag%3Dtag201%3Bfrom-tag%3Dtag200>

Call-ID و Tagها باید به Dialog واقعی Consultation Call اشاره کنند.

اگر Replaces اشتباه ساخته شود، در SBC تغییر کند یا PBX نتواند Dialog مرتبط را پیدا کند، Blind Transfer ممکن است کاملاً سالم باشد ولی Attended Transfer شکست بخورد.

خطای 481 در Attended Transfer چه معنی دارد؟

RFC 3891 مشخص می‌کند اگر Replaces نتواند Dialog مطابق با Call-ID و Tagهای اعلام‌شده پیدا کند، درخواست جایگزینی می‌تواند با 481 Call/Transaction Does Not Exist رد شود.

اگر در Trace انتقال مشورتی 481 می‌بینید، این موارد را مقایسه کنید:

Call-ID تماس Consultation.

From-tag.

To-tag.

Refer-To.

Replaces داخل Refer-To.

وجود SBC یا Proxy که Headerها را بازنویسی می‌کند.

مرحله اول: مشخص کنید کدام نوع Transfer خراب است

قبل از Packet Capture سه تست جدا انجام دهید.

اول نوع خرابی را محدود کنید
تست نتیجه مظنون اصلی
Blind Transfer خراب REFER، Permission، Routing یا PBX
Blind سالم، Attended خراب فقط Attended شکست می‌خورد Replaces، Contact، Dialog Matching یا Firmware
Transfer Key خراب ولی Feature Code سالم DTMF Transfer کار می‌کند SIP REFER یا Interoperability
همه Transferها خراب هیچ روش انتقال کار نمی‌کند PBX Permission، Routing یا Feature Disabled

مرحله دوم: بررسی کنید Transfer روی Yealink فعال است

Yealink برای فعال یا غیرفعال کردن Call Transfer پارامتر مشخصی دارد:

features.transfer.allow = 1

اگر این قابلیت غیرفعال شده باشد، کاربر ممکن است Transfer Softkey را نبیند یا رفتار دستگاه مطابق انتظار نباشد.

در بسیاری از مدل‌های فعلی مسیر تنظیمات Web UI در بخش:

Features → Transfer

قرار دارد.

تنظیمات اصلی Transfer در Yealink را بررسی کنید

features.transfer.allow
transfer.semi_attend_tran_enable
account.X.transfer_refer_to_contact_header.enable
features.transfer_keep_session2_after_failed.enable
transfer.blind_tran_on_hook_enable
transfer.on_hook_trans_enable

مقدار و حتی وجود بعضی گزینه‌ها می‌تواند بین مدل و Firmware متفاوت باشد؛ بنابراین تنظیمات را با Administrator Guide همان مدل تطبیق دهید.

transfer.semi_attend_tran_enable چه کاری می‌کند؟

این گزینه رفتار Semi-attended Transfer را کنترل می‌کند.

اگر کاربر مقصد را Dial کند و Ringback را بشنود، رفتار فشار دوباره Transfer می‌تواند بر اساس این تنظیم تغییر کند.

اگر کاربران می‌گویند «قبلاً وقتی داخلی زنگ می‌خورد Transfer کامل می‌شد ولی بعد از تغییر Firmware رفتار فرق کرده»، این گزینه را با Configuration قبلی مقایسه کنید.

Refer-To Contact Header در Attended Transfer چرا مهم است؟

Yealink پارامتر زیر را برای تعیین استفاده از اطلاعات Contact در Refer-To انتقال مشورتی دارد:

account.X.transfer_refer_to_contact_header.enable = 1

Yealink این قابلیت را برای استفاده از اطلاعات Contact دریافت‌شده در مرحله Consultation داخل Refer-To مستند کرده است.

اگر PBX یا SBC انتظار URI متفاوتی داشته باشد، تغییر این رفتار می‌تواند روی Attended Transfer اثر بگذارد.

این گزینه را کورکورانه تغییر ندهید؛ ابتدا REFER سالم و خراب را در PCAP مقایسه کنید.

مرحله سوم: Transfer Mode روی DSS یا BLF Key را بررسی کنید

یکی از رایج‌ترین علت‌های رفتاری این است که کاربر تصور می‌کند فشار BLF Key باید تماس جدید بگیرد، اما Yealink آن را به‌عنوان Blind Transfer تنظیم کرده است؛ یا برعکس.

Yealink پارامتر زیر را برای Transfer Mode via DSS Key دارد:

transfer.dsskey_deal_type = 2
مقادیر Transfer Mode via DSS Key
مقدار رفتار
0 New Call
1 Attended Transfer
2 Blind Transfer؛ مقدار پیش‌فرض در مستند فعلی Yealink
4 انتخاب دستی حالت Transfer در مدل‌های پشتیبانی‌شده

این تنظیم برای Speed Dial، BLF/BLF List و Transfer Key دارای Value اهمیت زیادی دارد.

اگر انتقال با BLF Key رفتار اشتباه دارد

فرض کنید هنگام تماس، BLF داخلی 201 را فشار می‌دهید و انتظار Attended Transfer دارید ولی تماس فوراً منتقل می‌شود.

احتمالاً Transfer Mode via DSS Key روی Blind Transfer قرار دارد.

اگر روی Attended تنظیم شود، Yealink ابتدا به داخلی مانیتورشده تماس می‌گیرد و بعد می‌توانید هنگام Ringback یا پس از Answer انتقال را کامل کنید.

مرحله چهارم: Packet Capture بگیرید

برای Transfer ناموفق، PCAP یکی از مهم‌ترین ابزارهاست. Capture را قبل از فشار Transfer شروع کنید تا تماس اصلی و تماس Consultation هر دو داخل فایل باشند.

در Wireshark ابتدا SIP را فیلتر کنید:

sip

برای دیدن REFERها:

sip.Method == "REFER"

و برای NOTIFYهای مربوط به Transfer:

sip.Method == "NOTIFY"

اگر هیچ REFER از Yealink خارج نمی‌شود

در این حالت ابتدا تلفن را بررسی کنید، نه PBX را.

Transfer Feature ممکن است غیرفعال باشد، DSS Key Mode اشتباه باشد، Softkey توسط Provisioning تغییر کرده باشد یا کاربر در واقع Feature Code دیگری را اجرا کند.

Auto Provisioning نیز ممکن است تنظیمات Transfer را بعد از هر Reboot دوباره اعمال کند.

اگر REFER ارسال می‌شود ولی PBX آن را رد می‌کند

Response Code را بررسی کنید.

خطاهای مفید در عیب‌یابی REFER
کد برداشت احتمالی
403 Forbidden Transfer Permission یا Policy
404 Not Found Refer-To یا Extension نامعتبر
405 Method Not Allowed REFER روی آن مسیر پشتیبانی یا مجاز نیست
481 Dialog موردنظر پیدا نشده؛ در سناریوهای Replaces بسیار مهم است
488 ناسازگاری یا Policy مرتبط با درخواست؛ Trace کامل بررسی شود

Permission سمت PBX را بررسی کنید

ممکن است داخلی اجازه تماس عادی داشته باشد ولی اجازه Transfer تماس خارجی را نداشته باشد.

در Hosted PBXها و سیستم‌های Multi-tenant این Policy بسیار رایج است.

اگر انتقال داخلی به داخلی کار می‌کند اما تماس ورودی از Trunk منتقل نمی‌شود، Permission و Transfer Policy مربوط به Trunk را نیز بررسی کنید.

مرحله پنجم: اگر Blind کار می‌کند ولی Attended نه، Replaces را بررسی کنید

این الگو بسیار تشخیصی است.

Blind Transfer فقط به مقصد انتقال نیاز دارد، ولی Attended Transfer باید Dialog Consultation را نیز به‌درستی شناسایی کند.

در REFER مشورتی، Query مربوط به Replaces را باز کنید و Call-ID و Tagها را با تماس دوم مقایسه کنید.

اگر Match وجود ندارد، مشکل می‌تواند از Yealink، PBX، SBC یا Rewrite شدن SIP Header باشد.

SBC می‌تواند Attended Transfer را خراب کند

در شبکه‌ای که Session Border Controller بین Phone و PBX قرار دارد، SBC ممکن است Contact، Call-ID یا Dialog Routing را تغییر دهد.

این تغییر به‌خودی‌خود ایراد نیست؛ اما اگر Replaces بعد از Rewrite با Dialog قابل تشخیص در سمت مقصد هماهنگ نباشد، Attended Transfer می‌تواند شکست بخورد.

برای تشخیص واقعی، اگر امکان دارد Trace دو سمت SBC را مقایسه کنید.

Supported: replaces را بررسی کنیم؟

RFC 3891 برای قابلیت Replaces یک Option Tag تعریف می‌کند. در بعضی Traceها ممکن است این قابلیت در Headerهای Supported یا Require دیده شود.

اگر یک Endpoint یا Gateway واقعاً Replaces را پشتیبانی نکند، Attended Transfer می‌تواند مشکل داشته باشد در حالی که Blind Transfer همچنان کار می‌کند.

مرحله ششم: نتیجه Transfer را داخل NOTIFY ببینید

گاهی PBX REFER را با موفقیت قبول می‌کند اما مقصد نهایی پاسخ نمی‌دهد یا Dialplan انتقال را Reject می‌کند.

در این حالت NOTIFY ممکن است نتیجه‌ای مانند خطای مقصد را گزارش کند.

بنابراین در Capture فقط این را نبینید که REFER پاسخ 200 گرفته؛ بدنه `message/sipfrag` را هم بررسی کنید.

اگر مقصد Busy باشد چه؟

در Blind Transfer ممکن است کاربر انتقال‌دهنده دیگر در تماس نباشد و مقصد Busy یا Unavailable شود.

Yealink برای سناریوی شکست Blind Transfer گزینه‌ای برای بازگرداندن تماس قبلی مستند کرده است:

features.resume_after_blind_transfer_failed.enable = 1

Yealink این گزینه را برای Resume کردن تماس قبلی در صورت شکست Blind Transfer معرفی کرده است.

Attended Transfer شکست می‌خورد و تماس اصلی هم از دست می‌رود

برای Semi-attended و Attended Transfer نیز Yealink قابلیت نگه‌داشتن Session اصلی در صورت ردشدن انتقال را دارد:

features.transfer_keep_session2_after_failed.enable = 1

این گزینه مشکل Server را درمان نمی‌کند، اما می‌تواند تجربه کاربر را در Transfer ناموفق بهتر کند.

مرحله هفتم: انتقال با Hang Up را بررسی کنید

در بعضی Yealinkها کاربر می‌تواند به‌جای زدن دوباره Transfer، گوشی را روی Hook بگذارد تا انتقال کامل شود.

دو پارامتر مهم:

transfer.blind_tran_on_hook_enable
transfer.on_hook_trans_enable

اولی به Blind Transfer و دومی به Semi-attended/Attended Transfer مربوط است.

اگر کاربران می‌گویند «وقتی گوشی را می‌گذاریم تماس قطع می‌شود ولی Transfer نمی‌شود»، این تنظیمات را با رفتار مورد انتظار مقایسه کنید.

مرحله هشتم: Feature Code مرکز تلفن را از SIP REFER جدا کنید

در بعضی شبکه‌ها Yealink به‌جای Native Transfer با REFER از Feature Code مرکز تلفن استفاده می‌کند.

مثلاً Asterisk قابلیت Blind و Attended Transfer مبتنی بر DTMF را در `features.conf` دارد.

نمونه رسمی مستندات Asterisk:

[featuremap]
blindxfer = #1
atxfer = *2

این فقط نمونه Configuration است. Feature Code واقعی شبکه خودتان را از `features.conf`، PBX GUI یا مستندات مرکز تلفن بررسی کنید.

چرا Feature Code کار می‌کند ولی دکمه Transfer Yealink نه؟

این نتیجه بسیار مهم است.

Asterisk نیز در مستندات رسمی تأکید می‌کند که Core Feature Code Transfer مستقل از Transfer Native در Channel Driverهایی مثل PJSIP است.

پس اگر `*2` یا کد داخلی PBX کار می‌کند ولی Transfer Softkey یالینک شکست می‌خورد، تمرکز را روی REFER، Replaces و SIP Interoperability بگذارید.

اگر Feature Code هم کار نمی‌کند

در Asterisk فقط تعریف DTMF Code کافی نیست. Channel باید اجازه استفاده از Transfer Feature را هم داشته باشد.

این اجازه می‌تواند توسط گزینه‌های Dial، Queue یا Configurationهای مشابه کنترل شود.

Asterisk همچنین برای Attended Transfer نیاز دارد Channelها Answer شده و داخل Bridge قرار گرفته باشند.

وضعیت Feature Code در Asterisk را بررسی کنید

نمونه مستند Asterisk برای Feature Map:

[featuremap]
blindxfer = #1
atxfer = *2

[general]
atxferabort = *3
atxfercomplete = *4
atxferthreeway = *5
atxferswap = *6

کدهای واقعی را بر اساس سیستم خودتان تنظیم کنید و مراقب تداخل آن‌ها با Dialplan، IVR یا Feature Codeهای دیگر باشید.

مرحله نهم: Caller ID بعد از Transfer را با شکست Transfer اشتباه نگیرید

گاهی انتقال واقعاً انجام می‌شود اما Caller ID مقصد اشتباه نمایش داده می‌شود.

این موضوع بیشتر به Connected Identity، Diversion، P-Asserted-Identity یا سیاست PBX مربوط است و نباید آن را با شکست REFER یکی دانست.

اول مشخص کنید آیا تماس واقعاً به مقصد رسیده است یا خیر.

یک‌طرفه شدن صدا بعد از Attended Transfer

اگر انتقال کامل می‌شود اما یکی از طرفین صدا ندارد، خود Transfer احتمالاً موفق شده و مشکل به Media Path منتقل شده است.

در این سناریو RTP، NAT، SDP، SBC و مسیر Media بعد از Re-INVITE یا Dialog Replacement را بررسی کنید.

مشکل یک‌طرفه شدن صدا را با «REFER رد شده» یکی ندانید.

مرحله دهم: NAT و SIP ALG را بررسی کنید

در شبکه داخلی ساده ممکن است Transfer سالم باشد ولی روی تلفن Remote یا پشت Router خراب شود.

SIP ALG می‌تواند Refer-To، Contact یا سایر Headerهای SIP را تغییر دهد و Attended Transfer را به‌خصوص در سناریوهای پیچیده خراب کند.

اگر مشکل فقط روی یک اینترنت یا Router خاص دیده می‌شود، REFER سالم و خراب را با Packet Capture مقایسه کنید.

Firewall باید REFER را عبور دهد

بعضی Firewallها فقط Methodهای رایج مانند REGISTER، INVITE، ACK و BYE را در نظر می‌گیرند.

اگر REFER یا NOTIFY توسط SIP Inspection یا SBC Policy محدود شود، تماس عادی کاملاً کار می‌کند اما Transfer شکست می‌خورد.

در Trace دو طرف Firewall بررسی کنید REFER واقعاً عبور کرده است یا نه.

مرحله یازدهم: Route تماس مقصد را جداگانه تست کنید

قبل از اینکه Transfer را مقصر بدانید، از همان Yealink یک تماس عادی مستقیم به مقصد Transfer برقرار کنید.

تفسیر تماس مستقیم به مقصد
تماس مستقیم Transfer برداشت
خراب خراب Routing مقصد اول بررسی شود
سالم Blind خراب REFER یا Permission بررسی شود
سالم Blind سالم، Attended خراب Replaces و Dialog Matching بررسی شود

مرحله دوازدهم: Firmware Behavior را بررسی کنید

تنظیمات Transfer و رفتار Softkey بین نسل‌های Firmware ممکن است تغییر کند.

اگر مشکل دقیقاً بعد از Update Firmware شروع شده است، قبل از Downgrade این موارد را مقایسه کنید:

Transfer Mode.

Semi-attended Setting.

Refer-To Contact Behavior.

DSS Key Mode.

On-hook Transfer.

Packet Capture قبل و بعد از Update.

تغییر Firmware بدون Trace می‌تواند علت واقعی را پنهان کند.

Auto Provisioning ممکن است Transfer Mode را بازنویسی کند

اگر تنظیمات را در Web UI اصلاح می‌کنید ولی بعد از Reboot دوباره به حالت قبل برمی‌گردند، MAC CFG، Common CFG یا Device Template را بررسی کنید.

مثلاً ممکن است PBX Template دائماً این مقدار را Push کند:

transfer.dsskey_deal_type = 2

در این حالت تغییر دستی تلفن فقط تا Provisioning بعدی باقی می‌ماند.

سناریوی اول: Blind Transfer اصلاً انجام نمی‌شود

ابتدا تماس مستقیم به مقصد را تست کنید. بعد بررسی کنید REFER از Yealink خارج می‌شود یا نه.

اگر REFER وجود ندارد، تنظیمات Phone و Transfer Mode را بررسی کنید.

اگر REFER وجود دارد ولی PBX 403، 404 یا 405 می‌دهد، مشکل Server-side را حل کنید.

اگر REFER پذیرفته می‌شود ولی NOTIFY خطا برمی‌گرداند، نتیجه Referred Call را بررسی کنید.

سناریوی دوم: Blind سالم است ولی Attended Transfer خراب است

این حالت Replaces را در اولویت قرار می‌دهد.

تماس دوم را در PCAP پیدا کنید و Call-ID و Tagها را با Replaces مقایسه کنید.

همچنین Contact و Refer-To را قبل و بعد از SBC بررسی کنید.

سناریوی سوم: Semi-attended کار نمی‌کند ولی Attended سالم است

تنظیم `transfer.semi_attend_tran_enable` و رفتار Firmware را بررسی کنید.

زمان فشار Transfer را نیز مهم بدانید: Semi-attended زمانی انجام می‌شود که مقصد هنوز فقط Ringback دارد و Answer نکرده است.

سناریوی چهارم: انتقال انجام می‌شود ولی تماس قطع می‌شود

ابتدا مشخص کنید کدام تماس قطع می‌شود.

اگر فقط انتقال‌دهنده خارج می‌شود و B و C به هم وصل می‌شوند، این رفتار طبیعی Transfer است.

اگر همه Channelها قطع می‌شوند، SIP Trace، NOTIFY نتیجه Transfer و PBX Log را بررسی کنید.

سناریوی پنجم: Transfer به داخلی کار می‌کند ولی به شماره خارجی نه

Outbound Route، Permission، Class of Service، Trunk Policy و Format شماره داخل Refer-To را بررسی کنید.

ممکن است User اجازه Dial عادی خارجی داشته باشد ولی Transfer کردن یک تماس به مقصد خارجی توسط PBX ممنوع شده باشد.

سناریوی ششم: انتقال خارجی به داخلی خراب است

اگر تماس داخلی به داخلی سالم است ولی تماس ورودی از Trunk منتقل نمی‌شود، PBX و SBC ممکن است Transfer Policy یا Dialog Handling متفاوتی برای Trunk داشته باشند.

تماس سالم و خراب را کنار هم Capture کنید و تفاوت Refer-To، Contact و Replaces را مقایسه کنید.

سناریوی هفتم: دکمه BLF تماس را فوراً منتقل می‌کند

Transfer Mode via DSS Key احتمالاً روی Blind Transfer قرار دارد.

اگر انتظار Consultation دارید، Mode را روی Attended قرار دهید؛ البته پس از بررسی سازگاری PBX.

سناریوی هشتم: بعد از شکست Transfer تماس اصلی از بین می‌رود

گزینه‌های Resume/Keep Session Yealink را بررسی کنید، اما علت Server-side را نیز پیدا کنید.

این تنظیم‌ها برای Recovery تجربه کاربر هستند، نه جایگزین حل خطای REFER.

سناریوی نهم: Feature Code کار می‌کند ولی TRANSFER Key نه

این یکی از واضح‌ترین نشانه‌های مشکل Native SIP Transfer است.

Feature Code در PBX با DTMF مدیریت می‌شود، در حالی که کلید Transfer Yealink معمولاً از REFER استفاده می‌کند.

REFER، Refer-To، Replaces و Permission را بررسی کنید.

چک‌لیست عیب‌یابی انتقال تماس Yealink

مسیر بررسی Blind و Attended Transfer
مرحله بررسی هدف
۱ تماس مستقیم به مقصد حذف مشکل Routing
۲ Blind Transfer بررسی REFER پایه
۳ Attended Transfer بررسی Replaces
۴ Transfer Mode Blind/Attended/DSS behavior
۵ REFER Response تشخیص Permission و Server Support
۶ NOTIFY sipfrag دیدن نتیجه واقعی Transfer
۷ Replaces Call-ID و Tags تشخیص Dialog Mapping
۸ PBX Feature Code تفکیک REFER از DTMF Transfer
۹ SBC / Firewall بررسی Rewrite یا Drop
۱۰ Firmware و Provisioning بررسی تغییر رفتار تلفن

پرسش‌های متداول درباره انتقال تماس Yealink

فرق Blind و Attended Transfer در Yealink چیست؟

در Blind Transfer تماس بدون مشورت مستقیماً به مقصد فرستاده می‌شود. در Attended Transfer ابتدا با مقصد تماس گرفته و صحبت می‌کنید و سپس انتقال را کامل می‌کنید. Yealink همچنین Semi-attended Transfer را برای تکمیل انتقال هنگام Ringback پشتیبانی می‌کند.

REFER در انتقال تماس Yealink چیست؟

REFER یک SIP Method برای درخواست ارجاع تماس یا Resource به مقصد دیگر است. Yealink برای Call Transfer از REFER استفاده می‌کند و مقصد معمولاً داخل Refer-To قرار می‌گیرد.

Replaces چرا در Attended Transfer مهم است؟

Replaces مشخص می‌کند Dialog جدید باید کدام Dialog موجود را جایگزین کند. اگر Call-ID یا Tagها با Session واقعی تطابق نداشته باشند، Attended Transfer می‌تواند شکست بخورد حتی اگر Blind Transfer سالم باشد.

چرا Blind Transfer کار می‌کند ولی Attended Transfer نه؟

چون Blind Transfer معمولاً REFER ساده دارد اما Attended Transfer به Replaces، Consultation Dialog و Contact صحیح وابسته است. Replaces، SBC و تنظیم Refer-To Contact را بررسی کنید.

چرا دکمه BLF تماس را فوری منتقل می‌کند؟

احتمالاً Transfer Mode via DSS Key روی Blind Transfer قرار دارد. Yealink امکان انتخاب New Call، Attended Transfer و Blind Transfer را برای DSS/BLF Key فراهم می‌کند.

چرا PBX Feature Code کار می‌کند ولی دکمه Transfer کار نمی‌کند؟

Feature Code می‌تواند داخل PBX و با DTMF پردازش شود، در حالی که دکمه Transfer Yealink معمولاً SIP REFER می‌فرستد. این تفاوت نشان می‌دهد REFER یا Interoperability باید بررسی شود.

پاسخ 202 به REFER خطاست؟

لزوماً خیر. RFC 3515 اولیه از 202 Accepted استفاده می‌کرد، اما RFC 7647 آن را Deprecated کرده و 200 OK را جایگزین کرده است. پیاده‌سازی‌های Legacy ممکن است هنوز 202 برگردانند.

چرا بعد از Transfer تماس اصلی هم قطع می‌شود؟

اگر انتقال موفق باشد، خارج‌شدن کاربر انتقال‌دهنده طبیعی است. اگر تماس مقصد هم قطع می‌شود، NOTIFY نتیجه REFER، PBX Log و Replaces را بررسی کنید.

آیا Factory Reset برای مشکل Transfer لازم است؟

معمولاً خیر. ابتدا Transfer Mode، REFER، Replaces، PBX Policy، Feature Code، SBC و Provisioning را بررسی کنید. Factory Reset اغلب اطلاعات عیب‌یابی را پاک می‌کند بدون اینکه علت Server-side را حل کند.

جمع‌بندی

برای رفع مشکل انتقال تماس در Yealink ابتدا مشخص کنید Blind، Semi-attended یا Attended Transfer خراب است. اگر همه آن‌ها مشکل دارند، REFER پایه، Permission و Routing را بررسی کنید. اگر فقط Attended Transfer شکست می‌خورد، Replaces و Consultation Dialog در اولویت قرار می‌گیرند.

در Packet Capture فقط خود REFER را نبینید؛ Refer-To، پاسخ PBX و NOTIFYهای Event برابر refer را هم بررسی کنید. پذیرش REFER به معنی موفقیت نهایی انتقال نیست و نتیجه Referred Call می‌تواند داخل SIP Fragment گزارش شود.

اگر Feature Code مرکز تلفن کار می‌کند ولی کلید Transfer Yealink نه، مشکل را در مسیر Native SIP Transfer جست‌وجو کنید. در Asterisk نیز Core Feature Code Transfer مستقل از انتقال Native PJSIP است و همین تست می‌تواند محل خرابی را بسیار سریع محدود کند.

در نهایت Firmware و Auto Provisioning را بررسی کنید. تنظیماتی مانند DSS Transfer Mode، Semi-attended Transfer، Refer-To Contact و رفتار On-hook ممکن است توسط Template مرکزی بازنویسی شوند. با مقایسه یک Trace سالم و خراب معمولاً می‌توان بدون Factory Reset مشخص کرد ایراد از تلفن، PBX، SBC یا Policy شبکه است.

منابع و مستندات
برای تهیه این راهنما رفتار Transfer تلفن‌های Yealink، REFER و Replaces و Transfer Featureهای Asterisk با منابع رسمی بررسی شده‌اند.
Yealink Support
Blind، Semi-attended و Attended Transfer و پارامترهای REFER، Contact و Session Recovery
Yealink Support
Transfer Mode via DSS Key، Resume بعد از Blind Transfer ناموفق و رفتار Transfer در Firmwareهای مختلف
RFC Editor
تعریف REFER، Refer-To، refer event و گزارش نتیجه انتقال با NOTIFY و message/sipfrag
RFC Editor
به‌روزرسانی RFC 3515 و جایگزینی 202 Accepted با 200 OK در رفتار استاندارد جدید REFER
RFC Editor
تعریف Replaces و استفاده از آن برای جایگزینی Dialog و سناریوهایی مانند Attended Transfer
Asterisk
Blind و Attended Transfer مبتنی بر DTMF، features.conf و تفاوت Core Transfer با Native Channel Driver Transfer
انتقال تماس VoIP ناموفق یا ناپایدار است؟

REFER، Replaces و تنظیمات مرکز تلفن را بررسی کنید

اگر Blind یا Attended Transfer روی تلفن‌های Yealink درست انجام نمی‌شود، می‌توانید درخواست بررسی کانفیگ ثبت کنید تا تلفن، SIP، مرکز تلفن و مسیر شبکه متناسب با همان مشکل بررسی شوند.

تماس با پشتیبانی ایرانیکاسرور

021-91302467

اشتراک‌گذاری مقاله
گفت‌وگو درباره آموزش

دیدگاه‌ها (۰)

هنوز دیدگاهی ثبت نشده است.

دیدگاه یا سؤال خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *