Sipdroid中像伺服器註冊是如何實現的 一

2021-06-01 23:07:29 字數 1719 閱讀 3034

關於

sipdroid是如何實現像伺服器註冊的

?首先告訴大家**塊在**,註冊的核心在registeragent類中的函式register(int time)中,註冊的核心是:

//create message re (modified by mandrajg)

message req = messagefactory.createregisterrequest(sip_provider,

target, target, new nameaddress(user_profile.contact_url), qvalue, icsi);

req.setexpiresheader(new expiresheader(string.valueof(expire_time)));

複製**

註冊稍微簡單一點,因為只是需要客戶端和伺服器進行繫結就行了,註冊在sip協議中稱作

登記服務

,再向服務提供商進行註冊的時候,服務提供商都會給我們乙個url,這個url在sipdroid中被封裝在sipurl中的,這個url寫的格式如下:

sip:[email protected],使用者名稱+主機名。

登陸服務過程中的具體流程如下:

程式啟動便自動進行初始化,在初始化的過程中,每隔一段的時間,客戶端這邊就要傳送register資訊給伺服器,register中的資訊包含了服務提供商分配給當前使用者的sip uri(

通俗點說,sip uri 就是客戶端的標識,這個標識是必須是唯一的

)伺服器通過獲得當前使用者的uri便可以繫結這個使用者,然後寫到乙個資料庫中,在sip協議中,這個叫做定位服務(location server)

傳送的請求的格式如下:

f1 register bob -> registrar

register sip:registrar.biloxi.com sip/2.0

via: sip/2.0/udp bobspc.biloxi.com:5060;branch=z9hg4bknashds7

max-forwards: 70

to: bob

from: bob ;tag=456248

call-id: 843817637684230@998sdasdh09

cseq: 1826 register

contact:

expires: 7200

content-length: 0

註冊會在2小時後超時。註冊伺服器回應乙個200ok,返回的資訊包含如下:

f2 200 ok registar -> bob

sip/2.0 200 ok

via: sip/2.0/udp bobspc.biloxi.com:5060;branch=z9hg4bknashds7

;received=192.0.2.4

to: bob ;tag=2493k59kd

from: bob ;tag=456248

call-id: 843817637684230@998sdasdh09

cseq: 1826 register

contact:

expires: 7200

content-length: 0

這裡面涉及到很多引數,但是在rfc3261中都有詳細的介紹,但是比較的分散,詳見:

sip中涉及到的協議之-rfc3261

第二篇將給大家介紹下,傳送的註冊訊息體裡面的每個引數所代表的意義.

**

IIS伺服器的註冊

使用iis瀏覽asp.net 時,首先需要保證.net framework 框架已經安裝並配置到iis上,而且如果你是先安裝的vs2010,後安裝的iis伺服器,那麼.net framework框架是沒有配置到iis上的,這時則需要在 開始 選單中開啟 visual studio 命令提示 2010...

tomcat伺服器避免惡意網域名稱註冊

其他的網域名稱指向了自己的ip位址,比如www.ytu.edu.cn是我學校的正常網域名稱,經常有惡意網域名稱指向這個ip位址202.194.116.18,比如www.uxwm.com,也指向了這個ip位址,ip位址繫結網域名稱,僅通過該網域名稱可以訪問這個ip位址 修改tomcat 7的serve...

註冊和刪除Apache伺服器的方法

apache伺服器的安裝和解除安裝方法 將apache資料夾存在桌面或其他盤,輸入cmd開啟命令提示行 安裝步驟 進入apache安裝目錄下的bin目錄 鍵入命令 httpd.exe k install n apache2.2,回車後,提示安裝成功 執行services.msc,開啟系統服務列表 檢...