| org.bluez.Call1(5) | Linux System Administration | org.bluez.Call1(5) |
نام (NAME)
org.bluez.Call - رابط کاربری D-Bus برای مدیریت تماسهای بلوتوث در BlueZ
رابط (INTERFACE)
- سرویس (Service)
- org.bluez
- رابط (Interface)
- org.bluez.Call1 [experimental]
- مسیر شیء (Object path)
- [variable prefix]/{hci0,hci1,...}/dev_{BDADDR}/telephony#/call#
- مورد استفاده توسط (Used by)
- bluetoothctl-telephony(1)
متدها (Methods)
void Answer()
به یک تماس ورودی پاسخ میدهد. تنها در صورتی معتبر است که وضعیت تماس برابر با "incoming" باشد.
خطاهای احتمالی: :org.bluez.Error.InvalidState :org.bluez.Error.Failed
مثالها:
- bluetoothctl
- > telephony.answer <call>
void Hangup()
تماس را قطع میکند.
برای یک تماس ورودی، تماس با استفاده از ATH یا معادل آن قطع میشود. برای یک تماس پشت خط (waiting)، با استفاده از وضعیت «مشغول بودن کاربر به تشخیص خودش» (User Determined User Busy یا UDUB) به طرف مقابل اطلاع داده میشود. این کار عموماً با استفاده از CHLD=0 پیادهسازی میشود.
لطفاً توجه داشته باشید که مشخصات GSM در زمان وجود یک تماس پشت خط، اجازه قطع کردن تماس در حالت انتظار (held) را نمیدهد. دلیل این امر آن است که استاندارد 27.007 تنها به CHLD=1X اجازه میدهد روی تماسهای فعال عمل کند. بنابراین یک تماس در حالت انتظار نمیتواند بدون تحت تأثیر قرار دادن وضعیت تماس ورودی قطع شود (برای نمونه با استفاده از سایر گزینههای CHLD). بیشتر سازندگان افزونههای اختصاصی (vendor extensions) ارائه میدهند که امکان تغییر وضعیت تماس در حالت انتظار را با استفاده از CHLD=1X یا معادل آن فراهم میکند. باید توجه داشت که Bluetooth HFP رفتار کلاسیک 27.007 را مشخص میکند و به CHLD=1X اجازه تغییر وضعیت تماسهای در حالت انتظار را نمیدهد.
بر اساس بحث بالا، همچنین باید توجه داشت که قطع کردن ارتباط یک طرف خاص در یک تماس چندنفرهٔ در حالت انتظار ممکن است در برخی پیادهسازیها امکانپذیر نباشد. توصیه میشود برنامهها رابط کاربری (UI) خود را بر همین اساس طراحی کنند.
نکته: قطع کردن تماسهای فعال هیچگونه عوارض جانبی (side-effects) ایجاد نمیکند؛ یعنی وضعیت تماسهای در حالت انتظار یا پشت خط تحت تأثیر قرار نمیگیرد. به عنوان یک استثنا، در حالتی که تنها یک تماس فعال و یک تماس پشت خط وجود داشته باشد، قطع کردن تماس فعال موجب انتقال تماس پشت خط به وضعیت 'incoming' خواهد شد.
خطاهای احتمالی: :org.bluez.Error.InvalidState :org.bluez.Error.Failed
مثالها:
- bluetoothctl
- > telephony.hangup <call>
ویژگیها (Properties)
string LineIdentification [readonly]
شامل اطلاعات شناسایی خط (Line Identification) بازگرداندهشده از شبکه است، در صورتی که وجود داشته باشد. برای تماسهای ورودی این عملاً همان CLIP است. برای تماسهای خروجی این ویژگی شماره گرفتهشده، یا COLP را در صورت دریافت توسط درگاه صوتی (audio gateway) نگهداری میکند.
لطفاً توجه داشته باشید که COLP ممکن است با شماره گرفتهشده متفاوت باشد. مقدار ویژه "withheld" به این معناست که طرف مقابل از ارائه شناسه تماسگیرنده (caller ID) خودداری کرده و گزینه "override category" برای مشترک جاری فراهم نشده است.
string IncomingLine [readonly, optional]
شامل اطلاعات شناسایی خط تماسگرفتهشده (Called Line Identification) بازگرداندهشده از شبکه است. این ویژگی تنها برای تماسهای ورودی در دسترس است و شماره مشترک محلی را که توسط طرف مقابل شمارهگیری شده نشان میدهد. این مورد برای مشترکانی کاربرد دارد که از سرویس چندخطی ارائهدهنده شبکه خود استفاده میکنند و مایلند بدانند تماس روی کدام خط در حال دریافت است.
string Name [readonly]
شامل اطلاعات شناسایی نام (Name Identification) بازگرداندهشده از شبکه است، در صورتی که وجود داشته باشد.
boolean Multiparty [readonly]
نشاندهنده این است که آیا تماس بخشی از یک تماس چندنفره است یا خیر.
اعلانهایی در صورت ملحق شدن یک تماس به یک تماس چندنفره یا خروج از آن ارسال میشود.
string State [readonly]
شامل وضعیت تماس فعلی است.
مقادیر ممکن:
- "active"
- تماس فعال است
- "held"
- تماس در حالت انتظار است
- "dialing"
- تماس در حال شمارهگیری است
- "alerting"
- دستگاه طرف مقابل در حال زنگ خوردن (هشدار) است
- "incoming"
- تماس ورودی در جریان است
- "waiting"
- تماس پشت خط است
- "response_and_hold"
- تماس ورودی در حالت پاسخ و انتظار (response and hold) قرار گرفته است
- "disconnected"
- هیچ استفاده دیگری از این شیء مجاز نیست و بهزودی از بین خواهد رفت
| May 2025 | BlueZ |