sip注册步骤

来源:互联网 发布:网上做淘宝客服可靠吗 编辑:程序博客网 时间:2024/05/17 21:53
这个注册过程分为六步:
1.sip初始化.
   eXosip_init ();
2.侦听的端口
   eXosip_listen_addr (IPPROTO_UDP, NULL, CfgMsg.contact_port, AF_INET, 0);
   这里需要注意的是CfgMsg.contact_port是一个与对方建立连接所需的端口,这里我设置为5060.
3.构造注册信息

   eXosip_register_build_initial_register()

4.发送注册信息

 eXosip_register_send_register ();

5 收到服务器发送过来的401或407挑战,构造注册信息

eXosip_register_build_register(je->rid, 1800, &reg)

6.去除上次加入的错误认证信息
   eXosip_clear_authentication_info(); 
7.添加注册证书
   需要鉴权信息,携带 Authorization字段,包括认证方式DIGEST、用户标识、域名、NONCE、URI和RESPONSE。
如:
Authorization: DIGEST USERNAME="6540012", REALM="huawei.com", NONCE="200361722310491179922", RESPONSE="b7c848831dc489f8dc663112b21ad3b6", URI="sip:191.169.150.30"


接口函数实现是这样的:
在je->type == EXOSIP_REGISTRATION_FAILURE中判断,如果是401响应则添加鉴权信息


再添加鉴权信息eXosip_add_authentication_info(“sip:aaa@10.1.2.111”, "aaa", "123456", "md5", NULL);前3个参数自己填


最后发送eXosip_register_send_register()