用OPTIONS方法實現Keep Alive

來源:互聯網
上載者:User

noiile@hotmail.com

在SIP應用中,假如使用者在用SIP UA享受某種計時收費的業務,比如線上觀看收費電視,突然死機,這時伺服器不能得知任何關於使用者裝置死機的資訊,計費服務仍在繼續。

這顯然是種不合理的情況,伺服器必須即時的知道使用者的狀態,這種情況presence伺服器也不一定能協助解決問題。因為使用者的SIP UA只有在改變狀態的情況下才發PUBLISH訊息到Presence Server,也就是說要等這個PUBLISH expired,伺服器才能知道使用者已經不線上了。但是使用者無論發PUBLISH還是REGISTER,它的到期時間的設定都取決於使用者的SIP UA,很多時候,使用者會把這個時間設為10分鐘,或更長。這就不能滿足某些業務即時性高的要求。

 

很容易得出結論,對於某些即時性要求高的業務,比如IPTV Server,無論是REGISTER還是PUBLISH都不能解決問題。解決方案需要考慮以下幾點:

1.         利用現有的SIP方法,並且不取決於使用者SIP UA,

2.         使用者的SIP UA不必對此做任何特殊的處理。

3.         且時間控製取決於服務方,即Application Server或其他Server,因為不同的服務可能對時間精度要求不同。

 

很明顯,如果Server周期的發一個SIP請求到終端,這個周期時間取決於該Server,如果使用者的SIP UA有回response,則表示使用者還是online,如果使用者沒有回response,那它就是offline的,Server可以終止該使用者的服務。

但是,用什麼SIP方法最合適呢?OPTIONS。因為RFC3261定義,所有的UA都必須支援OPTIONS方法,所以OPTIONS方法滿足了上面提及的1 、2點要求。而且OPTIONS方法簡單,只是請求使用者SIP UA的能力,不需要人機互動,與Dialog無關。所以,用OPTIONS方法來獲知使用者是否online再合適不過了。

 

其流程如:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.