From: 若是一個SIP消息中沒有Contact或者Record-Route頭域,那麼callee就會根據From頭域產生後續的Request。好比:若是 Alice打一個電話給Bob,From頭域的內容是 From:Alice<sip:alice@example.org>。那麼Bob打給Alice時就會使用 sip:alice@example.org做爲To頭域和Request-URI頭域的內容。
Contact: 後續Request將根據Contact頭域的內容決定目的地的地址,同時將Contact頭域的內容放到Request-URI中。它還能夠用來指示沒 有在Record-Route頭域中記錄的Proxies的地址。同時它還能夠被用在Redirect servers和REGISTER requests 和responses。
Record-Route/Route: Record-Route頭域通常是被proxies插入到request中的,這樣後續的Request如何有着和前面同樣的call-id就會被路由 到這些proxies。它也會被User Agent做爲發送後續request的依據。這套機制很像source-route,Record-Route頭域的信息被複制到Route頭域中。並 且Request-URI頭域會被設置爲第一個Route頭域的內容。
Via:
Via頭域是被服務器插入request中,用來檢查路由環的,而且能夠使response根據via找到返回的路。它不會對將來的request 或者是response形成影響。
總的來講,若是有Route,request就應該根據Route發送,若是沒有就根據Contact頭域發送,若是連Contact都沒有,就根據From頭域發送。服務器