eXoisp用户手册:1.3 如何发送或者升级注册

   eXoisp2提供灵活的API,以帮助您注册一个或多个身份。

1.3.1 初始化注册
    
    为了启动注册,您需要建立一个默认的REGISTER请求,同时需要提供几个强制性的头部。
  osip_message_t *reg = NULL;
  int id;
  int i;


  eXosip_lock ();
  id = eXosip_register_build_initial_register (identity,  // 发送人URL
                                               registrar, // 服务器URL
                                               NULL,
                                               1800,      // 到期时间 
                                               &reg);
  if (id < 0)
  {
      eXosip_unlock ();
      return -1;
  }

  osip_message_set_supported (reg, "100rel");
  osip_message_set_supported(reg, "path");

  i = eXosip_register_send_register (id, reg); // 发送注册请求
  eXosip_unlock ();
  return i;

   eXosip_register_build_initial_register函数的返回值为注册ID,您可以用来升级注册。在之后的关于该注册的事件中,您将会看到注册ID(如适用)。

1.3.2 升级注册

   您只需要再次使用注册ID即可。
  int i;

  eXosip_lock ();
  i = eXosip_register_build_register (id, 1800, ®);
  
  if (i < 0)
  {
      eXosip_unlock ();
      return -1;
  }

  eXosip_register_send_register (id, reg);
  eXosip_unlock ();

  注意:上述代码表明,协议栈有时只需要一个API函数就可以建立和发送默认的SIP消息。

1.3.3 关闭注册
  
   当软电话终止时,它应该删除自己在服务器上的注册信息。为了实现该目的,您需要发送一个REGISTER请求,其中expires头部设置为0(即:到期时间为0)。代码和升级注册一样,只不过需要将到期时间由1800改为0。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章