---
title: "โอนสาย"
description: "กำหนดเส้นทางผู้โทรด้วยการโอนสายแบบ Cold Transfer หรือคัดกรองปลายทางก่อนด้วยการโอนสายแบบ Warm Transfer"
---

เอเจนต์โทรศัพท์ทุกตัวมีการดำเนินการ `transfer_call` ในตัว ระบุในพรอมป์ต์ของเอเจนต์ว่าควรโอนสายเมื่อใด ใช้หมายเลขใด และควรส่งต่อสายแบบทันทีหรือแบบคัดกรอง

| โหมด | สิ่งที่เกิดขึ้น | ใช้เมื่อ |
| --- | --- | --- |
| **แบบทันที** | ผู้โทรจะถูกส่งต่อไปยังปลายทางโดยตรง เอเจนต์จะไม่แนะนำผู้โทรหรือยืนยันว่าจะมีผู้รับสาย | การกำหนดเส้นทางอย่างรวดเร็วสำคัญกว่าการส่งต่อสายที่ผ่านการคัดกรอง หรือสายนั้นใช้หมายเลขที่ ThunderPhone จัดเตรียมให้ |
| **แบบคัดกรอง** | ผู้โทรจะรอสายขณะที่เอเจนต์โทรและคัดกรองปลายทางเป็นการส่วนตัว ทั้งสองฝ่ายจะเชื่อมต่อกันก็ต่อเมื่อปลายทางยอมรับ | ปลายทางต้องการบริบทก่อนรับสาย หรือผู้โทรควรกลับมาที่เอเจนต์เมื่อไม่มีผู้ใดพร้อมรับสาย |

หากเอเจนต์ไม่ระบุโหมด ระบบจะโอนสายแบบทันที

## กำหนดค่าการโอนสาย

ในแดชบอร์ด:

1. เปิด **เอเจนต์เสียง** เลือกเอเจนต์ แล้วเปิด **การกำหนดค่า**
2. ในพรอมป์ต์ ให้เพิ่มปลายทางแต่ละรายการ เงื่อนไขการกำหนดเส้นทาง และระบุว่าจะใช้โหมด `cold` หรือ `warm` ไม่จำเป็นต้องเปิดใช้สวิตช์การโอนสายแยกต่างหากหรือสร้างเครื่องมือแบบกำหนดเอง
3. หากจำเป็น ให้ตั้งค่า **ขั้นสูง → ระยะเวลาการเรียก** ตั้งแต่ 5 ถึง 120 วินาที
4. เลือก **ปรับใช้**

เมื่อใช้ API ให้เรียก `PATCH /v1/agents/{agent_id}` เพื่อบันทึกพรอมป์ต์และ `ring_duration_seconds` ที่ไม่บังคับเป็นฉบับร่าง แล้วเรียก `POST /v1/agents/{agent_id}/deploy` ดู [API ของเอเจนต์](/api-reference/agents#update-an-agent-writes-the-draft)

## สิ่งที่เกิดขึ้นระหว่างการโอนสายแบบคัดกรอง

1. เอเจนต์แจ้งผู้โทรว่ากำลังเริ่มโอนสาย
2. ผู้โทรจะได้ยินเพลงรอสาย ผู้โทรจะไม่ได้ยินเสียงเรียกเข้าของปลายทางหรือการสนทนาส่วนตัว
3. ThunderPhone โทรหาปลายทางจากหมายเลข VoIP ที่จัดการสายนี้ เอเจนต์ส่ง `screen_message` ซึ่งควรระบุตัวตนของเอเจนต์ ระบุชื่อผู้โทร อธิบายเหตุผลของการโทร และถามว่าปลายทางรับสายได้หรือไม่
4. ปลายทางสามารถถามคำถามก่อนตัดสินใจได้ เอเจนต์จะตอบโดยอิงจากการสนทนาเดิมและพรอมป์ต์ของตน ขณะที่ผู้โทรยังคงรอสาย
5. หากปลายทางยอมรับ ผู้โทรจะออกจากการรอสายและทั้งสองฝ่ายจะได้ยิน `introduction` สั้น ๆ จากนั้นเอเจนต์จะออกจากสายโดยอัตโนมัติ ทั้งสองฝ่ายจะยังคงเชื่อมต่อกัน

หากปลายทางปฏิเสธ ไม่รับสาย หรือเข้าสู่ข้อความเสียง ThunderPhone จะยุติสายส่วนตัวนั้นและนำผู้โทรออกจากการรอสาย เอเจนต์จะได้รับผลลัพธ์และสนทนาต่อจากการสนทนาเดิม เอเจนต์สามารถรับข้อความ แนะนำเส้นทางอื่น หรือโอนสายแบบทันทีหากผู้โทรยังต้องการ การโอนสายแบบคัดกรองจะไม่ฝากข้อความเสียง หากปลายทางขอให้เอเจนต์ส่งต่อข้อความ ผลลัพธ์ของเครื่องมือจะรวมข้อความนั้นไว้ใน `relay_message_for_caller`

<Note>
  หากเปิดใช้ข้อความแจ้งการขอความยินยอมของเอเจนต์ ปลายทางที่รับโอนสายจะได้ยินข้อความแจ้งนั้นก่อนเริ่มการสนทนาคัดกรองส่วนตัว ผู้โทรที่รอสายจะไม่ได้ยินข้อความนั้นเป็นครั้งที่สอง
</Note>

## กำหนดพรอมป์ต์ให้เอเจนต์โอนสายได้อย่างมีประสิทธิภาพ

ใส่กฎการกำหนดเส้นทางไว้ในพรอมป์ต์ของเอเจนต์ ใช้รูปแบบ E.164: `+` รหัสประเทศ
และหมายเลขภายในประเทศแบบเต็ม เช่น `+14155550123` ระบุโหมดการโอนสาย
สำหรับแต่ละเส้นทาง และกำหนดทางเลือกสำรองให้เอเจนต์สำหรับกรณีการโอนสายแบบ warm ล้มเหลว

```text
Transfer policy

Confirm the caller's name and reason for calling before any transfer.

| Caller needs | Destination | Transfer mode |
| --- | --- | --- |
| A new purchase or plan change | +14155550123 | warm |
| Help with an existing order | +14155550124 | warm |
| The main office | +14155550125 | cold |

For a warm transfer:
- In the private screen message, identify yourself, give the caller's name and
  a one-sentence reason for the call, then ask whether the target can take it.
- Answer reasonable questions from the target using the conversation context.
- If the target accepts, introduce both people in one short sentence. Do not
  plan to speak after the introduction because you will be dropped.
- If the target declines, does not answer, or reaches voicemail, tell the
  caller what happened. Relay any message from the target, then offer to take
  a message or try another route. Do not cold-transfer unless the caller asks.
```

เอเจนต์จะระบุฟิลด์เหล่านี้เมื่อเรียกใช้แอ็กชันในตัว:

| ฟิลด์ | เวลาที่ใช้ | วัตถุประสงค์ |
| --- | --- | --- |
| `phone_number` | เสมอ | ปลายทางในรูปแบบ E.164 |
| `mode` | ไม่บังคับ | `cold` หรือ `warm`; ค่าเริ่มต้นคือ `cold` |
| `screen_message` | จำเป็นสำหรับ warm | ข้อความเปิดที่ปลายทางได้ยินเป็นการส่วนตัว |
| `introduction` | จำเป็นสำหรับ warm | ประโยคสั้นหนึ่งบรรทัดที่ทั้งสองฝ่ายได้ยินหลังจากปลายทางตอบรับ |

ไม่จำเป็นต้องกำหนดหรือแนบเครื่องมือแบบกำหนดเองชื่อ `transfer_call`

## การโอนสายแบบกระซิบ

“การโอนสายแบบกระซิบ” เป็นชื่อที่ใช้กันทั่วไปในอุตสาหกรรมสำหรับการโอนสายแบบ warm ซึ่ง
ปลายทางจะได้รับบริบทแบบส่วนตัวก่อนเชื่อมต่อสายกับผู้โทร ใน
ThunderPhone นั้น `screen_message` ของการโอนสายแบบ warm จะให้ข้อมูลสรุปส่วนตัวดังกล่าว ปลายทางจึงสามารถถามคำถามติดตามกับเอเจนต์ก่อนตอบรับ
หรือปฏิเสธได้

สิ่งนี้แตกต่างจาก
[`POST /v1/calls/{id}/whisper`](/th/guides/monitor-live-calls)
เอ็นด์พอยต์นั้นช่วยให้เจ้าหน้าที่หรือเจ้าของส่งคำแนะนำข้อความแบบส่วนตัวไปยัง AI
เอเจนต์ระหว่างการโทรสด โดยจะไม่โทรออกหรือให้ข้อมูลสรุปแก่ปลายทางการโอนสาย

## ข้อกำหนด ข้อจำกัด และการทดสอบ

| คำถาม | คำตอบ |
| --- | --- |
| หมายเลขใดรองรับการโอนสายแบบอุ่น | หมายเลขที่ยืนยันแล้วซึ่งนำเข้าผ่านการเชื่อมต่อ VoIP ที่สามารถโทรออกได้ หมายเลขที่ ThunderPhone จัดเตรียมรองรับเฉพาะการโอนสายแบบเย็น หากโหมดอุ่นไม่พร้อมใช้งาน การดำเนินการจะเปลี่ยนไปใช้การโอนสายแบบเย็น [เชื่อมต่อผู้ให้บริการ VoIP](/th/guides/voip-providers) |
| ประเภทการโทรใดรองรับ | การโอนสายแบบเย็นใช้ได้กับการโทรศัพท์ทั่วไป Browser Talk วิดเจ็ต การจำลอง และการโทรทดสอบไม่สามารถทดสอบการส่งต่อสายแบบอุ่นได้ Realtime ของเอเจนต์ที่บันทึกไว้จะไม่มี `transfer_call`; Realtime แบบอินไลน์ที่มี `call_events` สามารถขอการโอนสายแบบเย็นได้ |
| ฉันทดสอบได้อย่างไร | ตรวจสอบข้อความการกำหนดเส้นทางใน Browser Talk หรือการจำลอง จากนั้นทดสอบการส่งต่อสายแบบสมบูรณ์ด้วยการโทรศัพท์จริงโดยใช้หมายเลข VoIP ที่นำเข้าซึ่งมีสิทธิ์ |
| ปลายทางจะดังนานเท่าใด | `ring_duration_seconds` รับค่า 5–120 วินาที `null` ใช้ 45 วินาทีสำหรับการโอนสายแบบอุ่น และใช้ค่าเริ่มต้นของผู้ให้บริการเครือข่ายสำหรับการโอนสายแบบเย็น การโทรออกทั่วไปมีค่าเริ่มต้น 60 วินาที การตั้งค่านี้ไม่เปลี่ยนระยะเวลาการดังของสายเรียกเข้า |
| การเชื่อมต่อระหว่างบุคคลอยู่ได้นานเท่าใด | สูงสุด 60 นาทีหลังจากเอเจนต์เชื่อมต่อทั้งสองฝ่าย |
| จะเกิดอะไรขึ้นเมื่อไม่สำเร็จ | หากปลายทางปฏิเสธ ไม่รับสาย ไปยังวอยซ์เมล หรือการโทรขาออกล้มเหลว ผู้โทรจะกลับไปยังเอเจนต์พร้อมผลลัพธ์ พรอมต์ควรกำหนดขั้นตอนถัดไป |
| มีค่าใช้จ่ายเท่าใด | ไม่มีค่าธรรมเนียมเครื่องมือโอนสาย ค่าบริการโทรปกติรวมขั้นตอนการโอนสายแบบอุ่นจนถึงช่วงแนะนำตัว จากนั้นการคิดค่าบริการของ ThunderPhone จะหยุดเมื่อ AI ออกจากสาย ผู้ให้บริการเครือข่ายของคุณอาจยังคงเรียกเก็บค่าบริการสำหรับขาการโอนสายออกในระหว่างที่ทั้งสองฝ่ายยังเชื่อมต่อกัน |

## เว็บฮุกและเหตุผลการสิ้นสุด

เพย์โหลดการเสร็จสิ้นจะบันทึกปลายทางไว้ใน `transfer_number` และใช้
เหตุผลการสิ้นสุดข้อใดข้อหนึ่งต่อไปนี้:

| `end_reason` | ความหมาย |
| --- | --- |
| `ai_transfer` | เอเจนต์เริ่มการโอนสายแบบเย็น |
| `ai_warm_transfer` | ปลายทางยอมรับการโอนสายแบบอุ่น ทั้งสองฝ่ายเชื่อมต่อกัน และเอเจนต์ออกจากสายหลังช่วงแนะนำตัว |

ความพยายามแบบอุ่นที่ถูกปฏิเสธ ไม่มีผู้รับสาย ล้มเหลว หรือไปยังวอยซ์เมล ไม่ถือเป็น
การโอนสายที่เสร็จสมบูรณ์ ผู้โทรจะกลับไปยังเอเจนต์ ดังนั้นเหตุผลการสิ้นสุดสุดท้ายจึงสะท้อน
สิ่งที่ทำให้การโทรเดิมสิ้นสุดลง

สำหรับการโอนสายแบบอุ่นที่สำเร็จ เหตุการณ์การเสร็จสิ้นและเหตุผลการสิ้นสุด
ของการโทร AI จะถูกบันทึกเมื่อช่วงแนะนำตัวเสร็จสิ้นและ AI ออกจากสาย หาก
เปิดใช้การบันทึกเสียง เสียงจะบันทึกต่อเนื่องตลอดการเชื่อมต่อระหว่างบุคคลจนกว่าจะสิ้นสุด
คำพูดหลังการส่งต่อสายจะถูกบันทึก แต่จะไม่ถอดเสียง เมื่อเปิดใช้ประกาศการยินยอม
ของเอเจนต์ ปลายทางการโอนสายจะได้ยินประกาศนั้นก่อนเริ่มการคัดกรอง

<Accordion title="เว็บฮุกการเสร็จสิ้นแบบเดิม">
  เว็บฮุกแบบ URL เดียวรุ่นเดิมสามารถหน่วงการโอนสายแบบเย็นได้นานสูงสุดห้านาที
  โดยส่งคืน `{"transfer_ready": false}` แล้วอัปเดตสถานะความพร้อมสำหรับการโอนสาย
  ของการโทรในภายหลัง การส่งข้อมูลไปยังปลายทางเว็บฮุกและการโอนสายแบบอุ่นจะไม่
  ใช้การประสานงานนี้
</Accordion>

ดู [เว็บฮุกการเสร็จสิ้น](/th/webhooks/call-complete) สำหรับเพย์โหลดฉบับสมบูรณ์และ
ลักษณะการทำงานแบบเดิม

## การแก้ไขปัญหา

### เอเจนต์โอนสายแบบ Cold Transfer แทน Warm Transfer

ตรวจสอบว่าสายใช้หมายเลข VoIP ที่ยืนยันและนำเข้าแล้ว พร้อมการกำหนดเส้นทางขาออกที่ใช้งานได้ โหมด Warm จะถูกนำออกจากตัวเลือกของเครื่องมือสำหรับหมายเลข ThunderPhone และเซสชันที่ไม่ใช่โทรศัพท์ ระบุโหมดให้ชัดเจนในตารางการกำหนดเส้นทางของพรอมต์ด้วย

### ปลายทางไม่รับสาย

ยืนยันว่าสาย VoIP trunk ของคุณสามารถโทรออกไปยังปลายทางได้ และกฎการตรวจสอบสิทธิ์และการกำหนดเส้นทางเป็นปัจจุบัน ตรวจสอบรูปแบบ E.164 ของปลายทาง เพิ่ม `ring_duration_seconds` หาก 45 วินาทีสั้นเกินไปสำหรับ Warm Transfer

### ปลายทางเข้าสู่ระบบฝากข้อความเสียง

Warm Transfer จะไม่ฝากข้อความเสียง ผู้โทรจะออกจากการพักสาย และเอเจนต์จะได้รับผลลัพธ์ `voicemail` ระบุในพรอมต์ของเอเจนต์ว่าจะรับข้อความ ลองปลายทางอื่น หรือเสนอ Cold Transfer

### ผู้โทรไม่ได้รับข้อความจากปลายทาง

สั่งให้เอเจนต์ส่งต่อ `relay_message_for_caller` ก่อนเสนอขั้นตอนถัดไป ฟิลด์นี้จะมีเฉพาะเมื่อปลายทางปฏิเสธและขอให้เอเจนต์ส่งต่อบางสิ่ง

### Cold Transfer รอก่อนเชื่อมต่อ

หากคุณใช้ webhook แบบ URL เดียวรุ่นเก่า ให้ตรวจสอบว่าได้ส่งคืน
`{"transfer_ready": false}` หรือไม่ ผู้โทรจะได้ยินเพลงพักสายขณะที่ ThunderPhone รอ อัปเดตสถานะความพร้อมสำหรับการโอนสายเมื่อปลายทางพร้อม

### การกระซิบให้เจ้าหน้าที่ไม่ได้เริ่มการโอนสาย

การกระซิบระหว่างสายแบบสดใช้เพื่อแนะนำ AI เท่านั้น เพิ่มคำสั่งการโอนสายลงในพรอมต์ของเอเจนต์ และให้เอเจนต์เรียก `transfer_call` ดู
[ตรวจสอบสายแบบสด](/th/guides/monitor-live-calls)
