2012-03-21 10 views
0

と仮定、我々は次のようなダイアログがあります。これを通知SIP:どのように知っているのですか、どのREFERにNOTIFYが来たのですか?

NOTIFY sip:192.168.1.39:5062;transport=udp SIP/2.0 
Via: SIP/2.0/UDP 192.168.1.249;rport=5060;branch=z9hG4bKyZ09F8gtB6rtQ;received=192.168.1.249 
Max-Forwards: 70 
From: "Extension 1200" <sip:[email protected]>;tag=7ytSSBvaBeN5H 
To: <sip:[email protected]:5062>;tag=25b9a9ba-f249-4e21-a25a-c2ed578c5101 
Call-ID: f94d6be3-edfc-122f-ebb0-000c29da7e39 
CSeq: 25832274 NOTIFY 
Contact: <sip:[email protected]:5060> 
User-Agent: FreeSWITCH-mod_sofia/1.0.head-git-5e4a514 2012-03-10 22-56-29 -0500 
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,UPDATE,INFO,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBE 
Supported: timer,precondition,path,replaces 
Event: refer;id=1 
Allow-Events: talk,hold,presence,dialog,line-seize,call-info,sla,include-session-description,presence.winfo,message-summary,refer 
Subscription-State: terminated;reason=noresource 
Content-Type: message/sipfrag;version=2.0 
Content-Length: 16 

SIP/2.0 200 OK 

2と
Agent A     Agent B 
    |      | 
    | F1 REFER    | 
    |----------------------->| 
    |  F2 202 Accepted | 
    |<-----------------------| 
    |  F3 NOTIFY  | 
    |<-----------------------| 
    | F4 200 OK    | 
    |----------------------->| 
    |      | 
    |      | 
    |      |-------> 
    |      | (whatever) 
    |      |<------ 
    |      | 
    |   F5 NOTIFY  | 
    |<-----------------------| 
    | F6 200 OK   | 
    |----------------------->| 
    |      | 
    |      | 
    |      | 
    | F7 REFER    | 
    |----------------------->| 
    |  F8 202 Accepted | 
    |<-----------------------| 
    |  F9 NOTIFY  | 
    |<-----------------------| 
    | F10 200 OK   | 
    |----------------------->| 
    |      |-------> 
    |      | (something different) 
    |      |<------ 
    |      | 
    |   F11 NOTIFY  | 
    |<-----------------------| 
    | F12 200 OK   | 
    |----------------------->| 
    |      | 
    |      | 

は(RFC 3515から取られた)参照

私はそれぞれのNOTIFYリクエストを取得するには、このように、REFER REFERが成功したと私は思います。

質問は:NOTIFYでは、どのように私は知っていますか?REFERは何ですか?同じRFCから

答えて

1

2.4.6複数のダイアログ

AにREFER要求は、REFERリクエストにダイアログ 識別子を共有する暗黙のサブスクリプションを作成します参照してください。同じダイアログ内で複数のREFERが発行された場合( のコールを転送する2回目の試み)、ダイアログ識別子は、 に十分な情報を提供せず、正しいREFERと関連付けます。 から

したがって、UAは 所定のダイアログで受信する第2及び後続のREFER要求のため、それはそれぞれのイベントヘッダ フィールドのシーケンス番号を含むNOTIFY [2] idパラメータを含まなければならない(数REFERのこのNOTIFYのCSeqヘッダフィールド値)は、 と関連付けられます。このidパラメータは、指定されたダイアログでUAが受け取る最初の REFERのNOTIFYに含めることができる(MAY)。更新するために送信されたサブスクリプション は、このサブスクリプションを終了する必要があります。

関連する問題