Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Hướng dẫn cấu hình Asterisk và SIP

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hướng dẫn cấu hình Asterisk và SIP

    Ở bài viết này, tôi chỉ nói về cách để lấy file, biên dịch và cài đặt Asterisk. Kế tiếp, chúng ta sẽ tiến hành vài cấu hình đầu tiên liên quan đến giao thức SIP.

    SIP
    Session Initiation Protocol (SIP), thường được dùng trong VoIP phone (cả softphone và hard phone), SIP chỉ quan tâm đến việc nhận và thoát cuộc gọi. Kênh thoại không được truyền trong giao thức SIP mà truyền trong giao thức RTP.

    SIP và RTP

    SIP là tín hiệu ở tầng application và dùng port 5060. SIP có thể truyền trong giao thức TCP hoặc UDP. SIP được dùng để “thiết lập, hiệu chỉnh, và ngắt cuộc gọi”. SIP không chứa dữ liệu thoại.
    RTP được dùng để truyền âm thanh (ví dụ như thoại) giữa các điểm đầu cuối (endpoint). Mô hình sau sẽ giúp bạn hiểu rõ hơn về SIP và RTP



    Cài đặt Asterisk

    Vào trang web www.asterisk.org để download gói asterisk.
    Giải nén gói tin bằng lệnh tar –xzvf tênfile.tar
    Vào thư mục vừa giải nén, và nhập các lệnh sau để cài Asterisk
    # cd /user/src/asterisk-version
    # make clean
    # make
    # make install
    # make samples

    Mặc nhiên, Asterisk được cài ở thư mục /usr/sbin/asterisk. Nếu bạn nhập lệnh /usr/sbin/asterisk thì nó sẽ chạy ở deamon (services). Tuy nhiên bạn có thể vào chế độ dòng lệnh để theo dõi chi tiết.

    Trong trường hợp bạn muốn khám phá tất cả các tham số của Asterisk, bạn dùng lệnh asterisk –h.

    Dưới đây là vài tham số:
    -c : Vào chế độ cosole
    -v : Tăng mức độ thông báo chi tiết để kiểm tra hoạt động của Asterisk
    -r : Remote. Dùng để kết nối lại Asterisk nếu Asterisk đang chạy ở dạng deamon.

    Một vài lệnh cơ bản ở chế độ Console:

    Sip show peers: xem trạng thái kết nối của các điện thoại SIP.
    Stop now: dừng và thoát Asterisk
    Reload: nạp lại dịch vụ Asterisk

    Vài thư mục mà Asterisk sử dụng
    /etc/asterisk : chứa các file cấu hình
    /usr/lib/asterisk/modules/ được dùng để chứa các loadable modules như là codec, format, channels được dùng bởi Asterisk. Mặc định, Asterisk sẽ load tất cả các module này. Bạn có thể tắt bớt trong tệp modules.conf
    /var/lib/asterisk chứa tệp astdb và một số thư mục con. Tệp astdb chứa các thông tin database, tương tự như Microsoft Windows Registry. Asterisk database dựa trên v1 của Barkeley database. Nó dùng version 1 vì lý do bản quyền.
    Các thư mục con như sau:

    * agi-bin/ chứa các custom scripts và có thể được dùng với nhiều ứng dụng AGI.
    * Firmware/ chứa nhiều phiên bản firmware của asterisk devices
    * Images/ chứa nhiều kênh hỗ trợ hình ảnh được chứa trong thư mục images/.
    * Keys/ chứa các public hoặc private key
    * Mohmp3/ chứa music on hold
    * Sounds

    /var/spool/asterisk chứa nhiều thành phần liên quan đến chi tiết cuộc gọi.
    /var/run chứa process ID của tất cả các active process trên máy, bao gồm cả asterisk.
    /var/log/asterisk
    /var/log/asterisk/cdr-csv được dùng để chứa CDR theo định dạng CSV. Theo mặc định thì nó chứa trong file Master.csv, nhưng các account riêng lẻ có thể cất trong từng file riêng biệt theo accountcodem



    Vài tệp cơ bản cần nhớ để cấu hình Asterisk
    Extensions.conf là file chứa dial plan
    Sip.conf dùng để cấu hình giao thức SIP.
    Iax.conf dùng cấu hình các kênh truyền của giao thức IAX.

    Cấu hình SIP

    Dưới đây là file sip.conf cơ bản:

    [general]
    context=default
    srvlookup=yes

    [john]
    type=friend
    secret=welcome
    qualify=yes ; Qualify peer is no more than 2000 ms away
    nat=no ; This phone is not natted
    host=dynamic ; This device registers with us
    canreinvite=no ; Asterisk by default tries to redirect
    context=internal ; the internal context controls what we can do

    Cấu hình SIP bắt đầu với phần [general] , phần này chứa các thiết lập mặc định cho tất cả các user và peer trong cho tệp sip.conf. Tuy nhiên bạn có thể cấu hình đè lên tùy trong từng phần nhỏ.

    Mỗi kết nối được xác định là 1 user, per hoặc friend. Loại user được dùng để authen incoming calls, loại peer được dùng cho các outgoing call, và loại friend được dùng cho cả 2. Tên của extension được định nghĩa trong dấu ngoặc vuông. ([]). Trong ví dụ này, chúng ta định nghĩa john là friend

    Secret là phần chứa password dùng cho việc authentication. Theo ví dụ trên, password của user john là welcome. Chúng ta có thể theo dõi độ trễ giữa Asterisk server và điện thoại với qualify=yes. Theo mặc định, Asterisk sẽ cho rằng một extension là hiện diện nếu độ trễ nhỏ hơn 2000ms (2 giây).

    Nếu thiết bị được đặt ở sau firewall hoặc router, nó thường bị NAT, nên bạn cần cấu hình tham số nat=yes để ép Asterisk bỏ qua thông tin cho các extension và dùng địa chỉ từ firewall hoặc router. Thiết lập host=dynamic để yêu cầu điện thoại đăng ký cho Asterisk biết IP điện thoại cho mục đính security. Để giới hạn mỗi endpoint chỉ dùng 1 địa chỉ IP, thay thế chữ dynamic với địa chỉ IP của điện thoại.

    Chúng ta cũng thiết lập canreinvite=no. Trong SIP, invite được dùng để thiết lập cuộc gọi và chuyển sang các media khác (redirect media).

    Cấu hình Client


    Dĩ nhiên không thể hướng dẫn cấu hình cho tất cả các trường hợp cho tất cả các thiết bị đầu cuối. Chúng tôi chọn sản phẩm X-lite của X-ten, và bạn có thể download từ website: www.xten.com .

    Hình dưới đây sẽ chỉ dẫn cách cấu hình X-lite client.

    IAX.conf

    Xem thêm ở file iax.conf.sample

    DIAL PLAN cơ bản
    Dialplan được chia thành nhiều phần nhỏ gọi là contexts. Contexts là tên một nhóm extensions.
    Có 2 loại contexts đặc biệt là [gerneral] và [globals].

    Astersisk có một file đặc biệt mang tên là SECURITY, nó chỉ dẫn các bước để thiết kế được một hệ thống Asterisk bảo mật. Việc đọc và hiểu kỹ file này rất quan trọng.

    Cấu trúc cấp số như sau

    Exten => numer,priority,application

    Application: được dùng để phát 1 file đã được ghi âm trước đó trên 1 kênh. Khu dùng lệnh Playback(), input từ user đơn giản sẽ được bỏ qua.

    Adding Logic to the Dialplan
    Tương tự như playback, nó phát sound. Khác playback ở chỗ, khi caller nhân 1 nút hoặc 1 dãy nút trên telephone keypad, nó sẽ interrupt playback và chuyển đến extension mà phím đó được nhấn vào. Ví dụ như, khi caller nhấn 5, Asterisk sẽ ngưng phát nhạc và gửi control của cuộc gọi đến ưu tiên cao nhất của extension 5.

    Hầu hết việc dùng Backgound là để tạo voice menu.
    Backgound có cấu trúc tương tự như playback()
    Exten => 123,1, background(hello-world)
    Một ứng dụng nữa rất hữu ích đó là Goto. Goto dùng để chuyển cuộc gọi đến các phần khác nhau của Dialplan,
    Exten => 123,1,Goto(context, extension, priority)
    ----------------------------------------------------------------------------
    Phù, mệt quá, lần sau sẽ có bài viết: chuyển cuộc gọi từ Skype vào điện thoại bàn
    Attached Files

  • #2
    Cho minh hoi minh muon mua thiet bi phan cung de cai dat asterisk vay co ai co khong hoa mua cảd do o dau?

    Comment


    • #3
      Originally posted by cunlinh141087
      Cho minh hoi minh muon mua thiet bi phan cung de cai dat asterisk vay co ai co khong hoa mua cảd do o dau?
      Mua trên digium, nhưng tiền ship về cũng không rẻ, thêm khoảng 100$ nữa thôi :D . Nếu có người bên nước ngoài thì nhờ xách về cho, tui đang có con X100P bỏ không nè, mua không tui bán cho lol
      OPEN $OURCE
      $AVES MONEY
      .................................................. .

      Hãy như dòng nước chảy về với đại dương, từ tốn, hiền hòa , gặp hòn đá giữa đường thì vòng qua, đi tiếp.. lớn dần, lớn dần, cuốn trào qua tất cả.. lại từ tốn , hiền hòa... trôi... để rồi đến trước đại dương bao la.. và tan vào biển cả.
      Hãy như mây lang thang, chẳng từ đâu đến, chẳng đi về đâu, lững lờ trôi, cuồn cuộn chảy, chẳng bao giờ muốn, gió thổi thì đi, gió ngừng thì đứng, lúc nào cũng thấy.

      Comment


      • #4
        Hay nha, SD cũng đang tò mò muốn tìm hiểu vụ Asterisk này, liên lạc bạn BaoJS sao đây :D
        Contact me:
        Y!M: anhtai_yms
        MSN: anhtai83@hotmail.com

        Comment


        • #5
          Originally posted by BaoJS
          Mua trên digium, nhưng tiền ship về cũng không rẻ, thêm khoảng 100$ nữa thôi :D . Nếu có người bên nước ngoài thì nhờ xách về cho, tui đang có con X100P bỏ không nè, mua không tui bán cho lol
          mua cái modem V92 Intel MD3200, về tháo con Resistor R7 và R13 rồi edit lại code Zaptel :), you có 2 FXO interface rẻ bèo :).
          -------------------------------------------------------
          Yamaha R6 Rider
          Tôi là Yuna_admirer.

          Comment


          • #6
            Yes Yuna, về cơ bản thì X100P cũng chỉ là modem V92 dùng chip set 537 hoặc Moto 62802 mà thôi, cái này trên voip-info cũng nói rồi. Vấn đề là hiện giờ ở HN (HCM thì mình không biết) ko còn chỗ nào bán loại modem này cả. Thế thôi mua xừ nó trên eBay cho nó xong :D. Nghịch chơi thì dùng cái này là được, chứ làm thật thì ít nhất cũng phải dùng TE110P ;) .Ở trong Sài Gòn giờ cũng có cty bán đồ Digium đấy, 1 em TE110P cỡ khoảng hơn 700$, Sầu Đời và các bạn nào quan tâm đến thì có thể đến đó mua đồ

            Cheer :D
            OPEN $OURCE
            $AVES MONEY
            .................................................. .

            Hãy như dòng nước chảy về với đại dương, từ tốn, hiền hòa , gặp hòn đá giữa đường thì vòng qua, đi tiếp.. lớn dần, lớn dần, cuốn trào qua tất cả.. lại từ tốn , hiền hòa... trôi... để rồi đến trước đại dương bao la.. và tan vào biển cả.
            Hãy như mây lang thang, chẳng từ đâu đến, chẳng đi về đâu, lững lờ trôi, cuồn cuộn chảy, chẳng bao giờ muốn, gió thổi thì đi, gió ngừng thì đứng, lúc nào cũng thấy.

            Comment


            • #7
              Có điều khi bạn làm Modem V92 với các loại mainboard thông thường củ 1 chút, nó sẽ bị tình trạng IRQ Request Conflict <-- solution duy nhất là mua 1 cái Board mới hoặc là mua cái Digium card haha

              BaoJS có nằm trong 360 của mình chăng ?
              -------------------------------------------------------
              Yamaha R6 Rider
              Tôi là Yuna_admirer.

              Comment


              • #8
                Originally posted by TGA_Certificationteam
                BaoJS có nằm trong 360 của mình chăng ?
                Yes, có đấy :))
                OPEN $OURCE
                $AVES MONEY
                .................................................. .

                Hãy như dòng nước chảy về với đại dương, từ tốn, hiền hòa , gặp hòn đá giữa đường thì vòng qua, đi tiếp.. lớn dần, lớn dần, cuốn trào qua tất cả.. lại từ tốn , hiền hòa... trôi... để rồi đến trước đại dương bao la.. và tan vào biển cả.
                Hãy như mây lang thang, chẳng từ đâu đến, chẳng đi về đâu, lững lờ trôi, cuồn cuộn chảy, chẳng bao giờ muốn, gió thổi thì đi, gió ngừng thì đứng, lúc nào cũng thấy.

                Comment


                • #9
                  Hi All

                  các bạn cho mình hỏi, ngoài Asterisk ra còn giải pháp nào cho IP PBX không vậy, mình không rành về open source lắm, mong được sự giúp đỡ.

                  Huynh Quoc hung

                  hunghq1971@yahoo.com

                  Comment


                  • #10
                    Originally posted by hunghq View Post
                    Hi All

                    các bạn cho mình hỏi, ngoài Asterisk ra còn giải pháp nào cho IP PBX không vậy, mình không rành về open source lắm, mong được sự giúp đỡ.

                    Huynh Quoc hung

                    hunghq1971@yahoo.com
                    SipX cũng được , asterisk for win ( có một vài module cơ bản) nếu anh ko muốn dụng chạm đến mã nguồn

                    Comment


                    • #11
                      Bác nvt2 ơi, hình như bác lộn rồi, cái link http://vnpro.org/forum/attachment.ph...1&d=1145932980 mình down xuốn unrar ra là Advanced PDF Password Recovery.zip chứ đâu phải chỉ dẫn cách cấu hình X-lite client đâu, mong bác up lại. Thanx

                      Comment


                      • #12
                        Chao cac ban.Minh hien dang Tim hieu ve tong dai de ung dung trong cong ty.Minh co mot may PC chay phan mem ATerisk now va co mot Card Digium TDM(voi 3 FXO).Minh da truy cap vao May PC chay Aterisk thong wa giao dien web.Minh moi tim hieu ve tong dai nen chua biet gi ve tong dai ca.Hien nay minh rat can tai lieu cau hinh Aterisknow thong wa giao dien web de co the xay dung mot tong dai.Neu co bai lab thi cang tot.Rat mong cac Pro giup do

                        Comment


                        • #13
                          Ngoài card của Digium, Sangoma giá cao, các bạn có thể chọn card ATCOM giá phải chăng
                          Diễn đàn công nghệ VoIP Việt Nam
                          http://www.vnvoip.info

                          Comment

                          Working...
                          X