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。

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