ระบบโทรผ่าน TAPI -> COM port (Aircard) -> Public switched Telephone Network (PSTN)
draft อ้างอิงไว้ก่อน..โปรเจคนี้เป็นการเขียน functional module เพิ่มในโปรแกรม CRM ที่ทำไว้แล้วโดยจะทำเป็น class library เพื่อนำไปเรียกใช้งานต่อ
Telephony Application Programming Interfaces
อ้างอิง : http://msdn.microsoft.com/en-us/library/windows/desktop/ms734215(v=VS.85).aspx
เป็น lib ที่ใช้จะมี 4 ตัวหลักๆ ..
- TAPI 2.x
- TAPI 3.x
- Telephony Service Provider (TSP)
- Media Service Provider (MSP)
ตัวที่เอามาใช้ในโปรเจคนี้ คือ TAPI 3.x เป็น COM API
TAPI 2.x VS 3.x
- 2.x ไม่รองรับ VOIP
- 2.x ต้องเขียนใน C++ แล้ว complie DLL อีกทีนึง ส่วน TAPI 3.x จะ reference COM component ได้
ความสามารถของ TAPI 3.x ที่ทำได้..
- Multicast multimedia IP conferencing with quality of service (QOS)
- Voice calls over the Internet using the H.323 protocol
- Call center applications capable of tracking multiple agents
- Basic voice calls on the Public Switched Telephone Network (PSTN)
- PBX control
- Interactive voice response (IVR) systems
- Voice mail
เวอร์ชั่นแรกต้องการแค่ basic calls ก่อน
รวมตัวอย่าง Code Project TAPI 3.x
เป็น sample project ที่ใช้ทำ TDD และ Prove of concept
- IP call ด้วย H.323 http://www.codeproject.com/KB/IP/devangpro.aspx อันนี้ก็มี bugs/memory leak แต่ก็รันได้
- โทรออกใน C# TAPI แต่ในตัวอย่างนี้ยังมี bug อยู่ http://bytes.com/topic/c-sharp/answers/271356-tapi-3-c-has-anyone-gotten-work
- ติดต่อ driver modem ด้วย TA command ผ่าน COM port (VB.NET) http://www.codeproject.com/KB/smart/phoneat.aspx?msg=2279448 เป็นการสั่ง aircard dial หรือส่ง sms ได้
concept วิธีการ Implement TAPI สำหรับ outbound Call
ใน MSDN มันลำดับข้ามไปมา ดังนั้นจะเขียนใหม่เป็น step นี้
1. Initialize TAPI - สร้าง object instant ของ TAPIClass แล้วเรียกเมธอด Initialize
2. Select Address - เซ็ท ITAddress object โดย enumerate จาก ITTAPI
3. Register Event - ใช้เมธอด RegisterCallNotifications เซ็ท event handler เพื่อจัดการเหตการณ์ใน TAPI
4. Create Call - เรียก ITAddress::CreateCall โดยกำหนด address เป็นเบอร์หรือ IP, address type และ media type ว่าเป็น audio, fax หรือ video call จะได้ output return เป็น object ITBasicCallControl
5. Select Terminal - เซ็ท Terminal Object ได้แก่ฮาร์ดแวร์ audio device ไมค์/ลำโพง ให้กับ ITStream
6. Connect - เรียกเมธอด ITBasicCallControl::Connect
จบส่วนของการ Research ในเบื้องต้นใน part ต่อไปจะเริ่มทำ TDD test code
ไม่มีความคิดเห็น:
แสดงความคิดเห็น