2017-10-16 131 views
0

我正在通過TCP開發一個小型簡單SIP服務器。我想知道是否應該假設所有客戶端都連接到SIP服務器,或者如果邀請的客戶端未連接,是否必須發送TCP連接?與TCP的SIP連接

+0

你或許應該問這樣的問題之前,做在協議的一些實際研究。 –

+0

基本流程(簡化):客戶端發送初始TCP請求,服務器接受TCP請求並建立TCP連接。 「內部」TCP連接客戶端將發送一個SIP邀請。基於客戶端通過TCP連接到服務器,而不是服務器連接到客戶端。 – Moerwald

回答

0

在您的SIP服務器的基本流程情況下,可以如下:

  1. 客戶端註冊您的SIP服務器(與運輸= TCP)
  2. 服務器將邀請發送到註冊Contact他們Contact在適當的時候用戶被稱爲。

這種情況下TCP連接怎麼樣?從NAT穿越的角度來看,最好保持服務器和客戶端之間的TCP連接處於打開狀態。如果NAT超出範圍,則客戶端可以關閉連接,並且當客戶端被邀請時,服務器將建立到註冊聯繫人的新連接。

0

您應該始終將服務器連接到客戶端。

客戶也應該能夠撥打電話, 我的意思是客戶端可能要發送INVITE,刷新註冊,等等。