OpenSER ra đời cũng được một thời gian rồi, nhưng ở Việt Nam nó cũng chưa được nói đến nhiều. Ở trường đại học của em, luận văn tốt nghiệp làm về OpenSER cũng là luận văn đầu tiên ở trường làm về vấn đề này, và thầy hướng dẫn của em cũng chưa thử xây dựng hệ thống trên Openser, dù thầy cũng chuyên về asterisk. Vì thế trong khi làm, có nhiều bất cập, nhiều vấn đề mà em chưa tìm thấy câu trả lời rõ ràng, tài liệu tham khảo cũng toàn là nước ngoài, rất hiếm một tài liệu nào, kể cả các ý trao đổi về openser bằng tiếng Việt.
Hiện tại, em với thầy đang "tranh cãi" về kết nối giữa Openser với asterisk. Nếu như giữa 2 aisterisk server với nhau, và thuộc lớp mạng khác nhau, ví dụ giữa Hà Nội và Sài Gòn, thì ta dùng kênh IAX2 để kết nối, ( thầy em gọi đó là dùng giao thức IAX để liên kết 2 server). Nhưng với asterisk ở HN và openser ở SG thì sao ? Có một số câu hỏi đặt ra là
- Giữa 2 server thuộc 2 nơi này, chúng sẽ dùng phương thức nào để kết nối, trao đổi, điều khiển lẫn nhau.
- Cơ chế trao đổi ở đây là gì, phần nào trong asterisk và openser chịu trách nhiệm về việc trao đổi qua lại này.
- Theo em biết, ở câu hỏi đầu, giữa 2 server này không dùng một giao thức đặc biệt nào để trao đổi. Nếu như asterisk -asterisk ta dùng IAX protocol thì openser với asterisk chỉ đơn giản là foward các bản tin SIP tới server mà ta muốn nó tới bằng cách thêm thông tin về địa chỉ đích vào trường thông tin định tuyến của các bản tin Sip, khi các bản tin này tới server đích, server này sẽ xử lý các bản tin theo lập trình có sẵn, trong asterisk thì phần lập trình được tạo ở file extension.conf và sip.conf; còn trong openser thì được tạo ở file openser.conf. Một số khác cho là giứa ser và asterisk dùng giao thức sip để điều khiển. Thầy em thì bác bỏ điều này vì thầy cho là sip protocol chỉ dùng để kết nối server với client còn asterisk với ser thì phải dùng giao thức gì đó, cái "gì đó" thì thấy chưa biết!!!
- Việc asterisk ở HN và openser ở SG mà điều khiển, quản lí được lẫn nhau được thực hiện như thế nào? Trước tiên chúng cần thấy được nhau rồi mới nói chuyện quản lí nhau. Để 2 server ở 2 đầu Nam Bắc thấy nhau thì không khó, nhưng để bản tin sip từ client A đăng kí trên asterisk được asterisk xử lí và chuyển tới openser ở HN thì cơ chế ở đây là gì. Bản thân asterisk có module nào chịu trách nhiệm về việc định tuyến các bản tin này hay không. Nếu trong openser em có thấy một số module hay hàm làm việc lưu thông tin định tuyến, thêm bớt các thông số về IP destination address và hàm t_relay cung cấp các cơ chế như DNS định tuyến bản tin tới đích thì trong asterisk em không biết có làm được điều này hay không? Mong mọi người giúp đỡ
Hiện tại, em với thầy đang "tranh cãi" về kết nối giữa Openser với asterisk. Nếu như giữa 2 aisterisk server với nhau, và thuộc lớp mạng khác nhau, ví dụ giữa Hà Nội và Sài Gòn, thì ta dùng kênh IAX2 để kết nối, ( thầy em gọi đó là dùng giao thức IAX để liên kết 2 server). Nhưng với asterisk ở HN và openser ở SG thì sao ? Có một số câu hỏi đặt ra là
- Giữa 2 server thuộc 2 nơi này, chúng sẽ dùng phương thức nào để kết nối, trao đổi, điều khiển lẫn nhau.
- Cơ chế trao đổi ở đây là gì, phần nào trong asterisk và openser chịu trách nhiệm về việc trao đổi qua lại này.
- Theo em biết, ở câu hỏi đầu, giữa 2 server này không dùng một giao thức đặc biệt nào để trao đổi. Nếu như asterisk -asterisk ta dùng IAX protocol thì openser với asterisk chỉ đơn giản là foward các bản tin SIP tới server mà ta muốn nó tới bằng cách thêm thông tin về địa chỉ đích vào trường thông tin định tuyến của các bản tin Sip, khi các bản tin này tới server đích, server này sẽ xử lý các bản tin theo lập trình có sẵn, trong asterisk thì phần lập trình được tạo ở file extension.conf và sip.conf; còn trong openser thì được tạo ở file openser.conf. Một số khác cho là giứa ser và asterisk dùng giao thức sip để điều khiển. Thầy em thì bác bỏ điều này vì thầy cho là sip protocol chỉ dùng để kết nối server với client còn asterisk với ser thì phải dùng giao thức gì đó, cái "gì đó" thì thấy chưa biết!!!
- Việc asterisk ở HN và openser ở SG mà điều khiển, quản lí được lẫn nhau được thực hiện như thế nào? Trước tiên chúng cần thấy được nhau rồi mới nói chuyện quản lí nhau. Để 2 server ở 2 đầu Nam Bắc thấy nhau thì không khó, nhưng để bản tin sip từ client A đăng kí trên asterisk được asterisk xử lí và chuyển tới openser ở HN thì cơ chế ở đây là gì. Bản thân asterisk có module nào chịu trách nhiệm về việc định tuyến các bản tin này hay không. Nếu trong openser em có thấy một số module hay hàm làm việc lưu thông tin định tuyến, thêm bớt các thông số về IP destination address và hàm t_relay cung cấp các cơ chế như DNS định tuyến bản tin tới đích thì trong asterisk em không biết có làm được điều này hay không? Mong mọi người giúp đỡ
Comment