先說個故事:有一個想買房子的人,有一個想賣房子的人, 還有一箇中介。想買房子的人把買房的意願首先告訴中介,這個中介就負責將這個信息轉到賣房子的人, 並將賣房人的信息反饋給買房人。 但若是一個北京人想買上海的房子,這時候北京的中介還要找到上海的中介。但不管怎樣,整個交易就形成了。
SIP的消息流就如上面的交易鏈,下面說SIP的架構:
SIP網絡主要由客戶端和服務器兩部分構成.
客戶端(User Agent:UA)可以分成兩種類型:
UAC(User Agent Client): 相當於那個買房人。
UAS(User Agent Server): 相當於那個賣房人。
UAC主要負責發起請求,UAS主要負責響應消息。
注意,這裏的UAC和UAS只是概念上有區別,從物理上就是兩臺PC或者PDA等終端。
服務器分成Proxy Server,Redirect Server,Register Server。
什麼叫Proxy Server? 就是上面那個中介,它可能直接就連接到那個賣房人(UAS)了,也可能還需要其他的中介(Proxy Server)幫忙。
Redirect Server是什麼意思呢?就是說你買北京的房子找到廣東的中介了,但這個中介很好心,沒有貪你的錢(Message),而是告訴你不要從我這裏找,要從 北京的中介開始找,並將北京中介的地址告訴了你。注意Proxy Server和Redirect Server的區別:Proxy Server是將消息發給下一個Proxy Server或者UAS的,Redirect Server是將消息反饋給UAC的。
那 麼什麼叫Register Server? Register Server相當於房屋登記局,將終端的IP地址,端口什麼的全登記在它那兒。Proxy Server這個中介的職責比較單一,它只負責轉發消息。它並沒有這些房屋的資料,每次發消息的時候都要從Register Server那裏去取信息,而這些信息是要各個客戶端(UA)事先在Register Server那裏註冊的。