eXosip的register注冊


轉載於:http://blog.sina.com.cn/s/blog_4868f98601018ioh.html
這個測試程序是從eXosip原有的測試程序改造的。原程序是tools 目錄下的 sip_reg.c
 
本程序主要改造了這幾個地方:
1) eXosip_event_wait() 函數的超時時間,從原來的1ms 修改為50ms
2) 對於初次注冊時,服務器返回401的情況。  調用函數 eXosip_add_authentication_info()發送鑒權信息。
其余的內容基本沒改,在我們的sipserver 上面注冊成功了。
 
從這個例程中 我們可以看出sip鑒權的基本流程
從sip角度看, 注冊過程是這樣的:
        客戶端                        server  
          |   --------regester --->      |
          |   <----------401------       |
          |   ---regester + nonce -》    |
          |  《----------200--------     |
其中 nonce中帶有鑒權信息。形如:
Authorization: Digest username="buxiangyi", realm="Yate", nonce="143e882c902a9c38a3286e9043c35d40.1366083396", uri="sip:172.16.50.189:5060", response="8119330abd3ff5e4e26d2fa87b563b39", algorithm=MD5
 
 
對於 eXosip, 其處理過程如下:
1)eXosip_init                            (初始化)
     |     
     v     
2)eXosip_listen_addr                     (監聽sip端口)
     |     
     v     
3)eXosip_register_build_initial_register (構建一個register)
     |     
     v     
4)eXosip_register_send_register          (發送register)
     |     
     v     
5)eXosip_event_wait                      (等待對端事件)
     |     
     v     
6)eXosip_execute                         (處理事件,調整內部狀態)
     |     
     v     
7)eXosip_automatic_action                (根據當前狀況,發出響應消息)
之后應循環執行 5)-》 7)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM