Sử dụng các dịch vụ có sẵn trên asterisk

Một phần của tài liệu đồ án kỹ thuật viễn thông GIẢI PHÁP KẾT NỐI IMS VÀ V0IPSIP (Trang 111)

CHƯƠNG VII: GIẢI PHÁP MỚI VÀ TRIỂN KHAI 7.1 Mô hình giải pháp mớ

7.2.2 Sử dụng các dịch vụ có sẵn trên asterisk

> Thực hiện cuộc gọi giữa các imsclient đăng kí lên openimscore thông qua tổng đài Asterisk. Qua đó tận dụng các dịch vụ có sẵn trên Asterisk như call

Hình 7.3 Sử dụng các dịch vụ trên asteisk

Ở đây khi imsclient1 muốn gọi cho imsclient2 mà thông qua tổng đài asterisk chứ không phải thông qua OpenIMSCore thì khi thực hiện cuộc gọi, imsclient1 cần gọi trực tiếp tới thuê bao bob@192.168.1.100, bình thường alice muốn gọi cho bob thông qua openimscore thì nó sẽ gọi bob@ims.hut.vn tuy nhiên bây giờ nó muốn gọi cho imsclient2 mà thông qua asterisk để tận dụng những dịch vụ có sẵn của asterisk chứ không thông qua openimscore nữa thì từ alice ta sẽ gọi

“bob@192.168.1.100”. Lúc đó trên openser ta sẽ cấu hình sao cho khi có một bản tin invite với ip nguồn là 192.168.1.20 thì nó chỉnh sửa lại bản tin thành

bob@192.168.1.4 và sẽ được chuyển tiếp lên asterisk. Và trên asterisk ta sẽ cấu hinh để so cho khi nhận được bản tin invite từ openser mà yêu cầu gọi tới

bob@192.168.1.4 nó sẽ tạo ra cuộc gọi mới tới openser bob@192.168.1.100 lúc đó openser sẽ nhận được bản tin invite và sửa lại thành bob@ims.hut.vn và gửi tới imscore. Sau đó imscore sẽ chuyển bản tin invite tới bob. Sau khi Bob đồng ý thực hiện cuộc gọi thì sẽ thiết lập cuộc gọi giữa 2 imsclient thông qua asterisk. File cấu hình như trên.

Kịch bản như sau:

Ta sẽ tạo thêm 1 user imsclient tên là Chinh@ims.hut.vn. Bây giờ từ user alice sẽ gọi cho user bob, nếu đợi trong khoảng thời gian 15s mà không thấy user bob trả lời thì cuộc gọi sẽ được chuyển tiếp sang user hoang. Do đó ta cần cấu hình trên file extensions.conf như sau:

exten => bob,1,Dial(SIP/bob@192.168.1.100,10,t) exten => bob,2,Dial(SIP/Chinh@192.168.1.100,10,t) exten => bob,3,Voicemail(1000@mailbox) exten => bob,4,PlayBack(vm-goodbye) exten => bob,5,Wait(2) exten => bob,6,Hangup()

Và trên file openser.cfg ta cấu hình như trên

 Thực hiện dịch vụ nhạc chờ cho các thuê bao của ims có đăng kí dịch vụ

Kịch bản như sau: khi alice gọi cho hoang thì nếu user bob có đăng kí với tổng đài sử dụng nhạc chờ ưa thích thì alice trong khi đợi bob nhấc máy sẽ nghe được nhạc chờ mà hoàng đã đăng kí. Vi vậy ta cần cấu hình trên tổng đài asterisk như sau. Trên file extension.conf

exten => chinh,1,Dial(SIP/hoang@192.168.1.100,10,m,t) exten => chinh,2,Voicemail(1002@mailbox)

exten => chinh,3,PlayBack(vm-goodbye) exten => chinh,4,Wait(2)

exten => chinh,5,Hangup()

Trên file musiconhold ta cáu hình như sau:

[default] mode=files

directory=/var/lib/asterisk/wav random=yes

Trong thư mục var/lib/asterisk/wav ta chỉ cần copy các file nhạc định dạng wav theo đúng bài hát mà khách hàng yêu cầu.

Kịch bản như sau: khi alice gọi cho hoàng, nếu hoàng có đăng kí với tổng đài sư dụng dịch vụ voicemail thì sau 10s nếu user hoàng không nhấc máy thì alice sẽ để lại lời nhắn bằng cách nói vào thiết bị của mình. Sau đó tổng đài sẽ lưu lại tin nhắn bằng âm thanh của alice, sau đó khi bob mở máy và thấy có cuộc gọi nhỡ của alice và có tin nhắn âm thanh để lại, bob sẽ quay số lên tổng đài để nghe tin nhắn đó. Lúc đó hoàng sẽ quay số lên tổng đài là 8888@192.168.1.100 sau đó nhập user của mình là 1002 (user mailbox) và nhập pass là 8888 để nghe lại tin nhắn thoại. Vì vậy ta cần cấu hình trên asterisk như sau:

Trên file extension.conf:

exten => chinh,1,Dial(SIP/hoang@192.168.1.100,10,m,t) exten => chinh,2,Voicemail(1002@mailbox) exten => chinh,3,PlayBack(vm-goodbye) exten => chinh,4,Wait(2) exten => chinh,5,Hangup() exten => 8888,1,VoiceMailMain(${CALLERIDNUM})  Thực hiện dịch vụ conference

Kịch bản như sau: khi có một hội nghị cần sự tham gia thảo luận của nhiều người. Ở đây ví dụ ta có 3 user là alice, bob, và hoàng đều thuộc imscore muốn nói chuyện trực tuyến với nhau sử dụng dich vụ conference trên asterisk thì chỉ đơn giản là các user đó sẽ quay số tới tổng đài bằng cách gọi 7777@192.168.1.100 sau đó nhập pass để tham gia room là 7777 thì các user đã có thể nói chuyện trực tiếp với nhau. Ta cần cấu hính trên file extensions.conf như sau

:

exten => 7777,1,Meetme(7777)

Trên file meetme.conf ta cấu hình như sau:

conf => 7777,7777

Một phần của tài liệu đồ án kỹ thuật viễn thông GIẢI PHÁP KẾT NỐI IMS VÀ V0IPSIP (Trang 111)