RFC3842 SIP event package for MWI
Alice 訂閱 message-summary 狀態 1 天,馬上同步目前狀態。refresh 或停止訂閱也會同步目前狀態。Via 省略 for clarity。
- Event 帶 event package 名稱「message-summary」。
- Accept 帶 NOTIFY 批體使用的 MIME 格式是 application/simple-message-summary
SUBSCRIBE sip:alice@vmail.example.com SIP/2.0 To: <sip:alice@example.com> From: <sip:alice@example.com>;tag=78923 Date: Mon, 10 Jul 2000 03:55:06 GMT Call-Id: 1349882@alice-phone.example.com CSeq: 4 SUBSCRIBE Contact: <sip:alice@alice-phone.example.com> Event: message-summary Expires: 86400 Accept: application/simple-message-summary Content-Length: 0
回應
SIP/2.0 200 OK To: <sip:alice@example.com>;tag=4442 From: <sip:alice@example.com>;tag=78923 Date: Mon, 10 Jul 2000 03:55:07 GMT Call-Id: 1349882@alice-phone.example.com CSeq: 4 SUBSCRIBE Expires: 86400 Content-Length: 0
馬上同步目前狀態:2 new and 8 old [2 urgent] 語音留言
- Event 帶 message-summary。
- Subscription-State 是 active。
- Content-Type: application/simple-message-summary 表示批體的格式。
NOTIFY sip:alice@alice-phone.example.com SIP/2.0 To: <sip:alice@example.com>;tag=78923 From: <sip:alice@example.com>;tag=4442 Date: Mon, 10 Jul 2000 03:55:07 GMT Call-Id: 1349882@alice-phone.example.com CSeq: 20 NOTIFY Contact: <sip:alice@vmail.example.com> Event: message-summary Subscription-State: active Content-Type: application/simple-message-summary Content-Length: 99 Messages-Waiting: yes Message-Account: sip:alice@vmail.example.com Voice-Message: 2/8 (0/2)
批體的格式
message-summary = msg-status-line CRLF
[msg-account CRLF]
[*(msg-summary-line CRLF)]
[ *opt-msg-headers ]
msg-status-line = "Messages-Waiting" HCOLON msg-status
msg-status = "yes" / "no"
msg-account = "Message-Account" HCOLON Account-URI
Account-URI = SIP-URI / SIPS-URI / absoluteURI
msg-summary-line = message-context-class HCOLON newmsgs SLASH oldmsgs
[ LPAREN new-urgentmsgs SLASH old-urgentmsgs RPAREN ]
opt-msg-headers = CRLF 1*(extension-header CRLF) ;新訊息 heeaders
message-context-class 見 Section 6.2 of RFC 3458 [7].
newmsgs = msgcount
oldmsgs = msgcount
new-urgentmsgs = msgcount
old-urgentmsgs = msgcount
msgcount = 1*DIGIT ; MUST NOT exceed 2^32-1
新訊息通知。新訊息一些 headers appended。
NOTIFY sip:alice@alice-phone.example.com SIP/2.0 To: <sip:alice@example.com>;tag=78923 From: <sip:alice@example.com>;tag=4442 Date: Mon, 10 Jul 2000 04:28:53 GMT Contact: <sip:alice@vmail.example.com> Call-ID: 1349882@alice-phone.example.com CSeq: 31 NOTIFY Event: message-summary Subscription-State: active Content-Type: application/simple-message-summary Content-Length: 503 Messages-Waiting: yes Message-Account: sip:alice@vmail.example.com Voice-Message: 4/8 (1/2) To: <alice@atlanta.example.com> From: <bob@biloxi.example.com> Subject: carpool tomorrow? Date: Sun, 09 Jul 2000 21:23:01 -0700 Priority: normal Message-ID: 13784434989@vmail.example.com To: <alice@example.com> From: <cathy-the-bob@example.com> Subject: HELP! at home ill, present for me please Date: Sun, 09 Jul 2000 21:25:12 -0700 Priority: urgent Message-ID: 13684434990@vmail.example.com
使用 Callee Capabilities 和 Caller Preferences 的範例。使用 callee capabilities,notifier 進行註冊,Contact 含有參數 methods 和 events。為了表明身份,可以加 actor="msg-taker"。
REGISTER sip:sip3-sj.example.com SIP/2.0 To: <sip:alice@example.com> From: <sip:alice@example.com>;tag=4442 ... Contact: <sip:alice@vm13-sj.example.com> ;actor="msg-taker";methods="SUBSCRIBE" ;automata;events="message-summary"
SUBSCRIBE 可看到上述的 Contact 參數。
SUBSCRIBE sip:alice@example.com SIP/2.0 ... Accept: application/simple-message-summary Event: message-summary Accept-Contact: *;automata;actor="msg-taker"
沒有留言:
張貼留言