Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
understanding-SIP.pdf
Скачиваний:
118
Добавлен:
01.03.2016
Размер:
4 Мб
Скачать
☆

214

SIP: Understanding the Session Initiation Protocol

8.6.2Interworking with SIMPLE

Currently work is underway in the IETF to standardize the interworking between SIMPLE and Jabber for both presence and IM systems [42]. A gateway must be used to bridge the two protocols. Since XMPP utilizes permanent subscriptions, the gateway must map them to the soft-state subscriptions used in SIMPLE. While an XMPP URI scheme has been defined [43] that SIMPLE can use, XMPP is unable to use URIs so the gateway must map between XMPP or SIP URIs and XMPP JIDs. The basic IM mapping is shown in Table 8.11.

Table 8.12 shows basic presence mapping between XMPP and SIMPLE. The mapping of group chat between SIMPLE and XMPP is defined in [44].

8.6.3Jingle

Jingle [45] is an XMPP protocol extension for initiating and managing media sessions between two XMPP entities. Jingle provides a way to perform an offer/ answer exchange of media capabilities to negotiate an RTP media session. Jingle was designed to easily interwork with SIP [46] and have NAT traversal using ICE, as described in Chapter 10.

8.6.4Future Standardization of XMPP

A new working group has formed in the IETF to standardize additional aspects of XMPP [47] and interworking with SIMPLE. Their work will include revisions to the core protocol, optimizations for mobile devices, and end-to-end encryption and security.

8.7 Conclusion

This chapter showed how presence and instant messaging services can be implemented with SIP using a number of extensions. Additionally, Jabber or XMPP can provide these services and can interwork with SIP through gateways.

Table 8.11

Instant Message Mapping Between XMPP and SIMPLE

XMPP

SIMPLE

 

 

<body/>

Body of MESSAGE

<subject/>

Subject

<thread/>

Call-ID

from

From

to

To

xml:lang

Content-Language

 

 

Content-Type: message/imdn+xml
SIP MESSAGE method.

 

Presence and Instant Messaging

215

 

Table 8.12

 

 

Presence Mapping Between XMPP and SIMPLE

 

 

XMPP

SIMPLE

 

 

 

 

 

 

<presence/> stanza

Event: presence

 

 

XMPP resource identifier

Tuple ‘id’ attribute

 

 

from

From

 

 

id

Call-ID

 

 

to

To

 

 

type

Basic status

 

 

xml:lang

Content-Language

 

 

<priority/>

PIDF priority for tuple

 

8.8Questions

Q8.1 Create an example resource list creating subscription, and show the first notification. Include at least three resources in the list and show at least two different presence states in the notification.

Q8.2 Explain the differences between page mode and session mode instant messaging. Which protocols are typically used for each?

Q8.3 Explain the purpose of CPIM.

Q8.4 Explain why you would not expect to see the SIP header field as a header field in a

Q8.5 Map the following Jabber message into a SIP NOTIFY. Make up any URIs and values you might need:

<presence

from=’juliet@example.com/balcony’

to=’romeo@example.net/orchard’

xml:lang=’en’>

<show>away</show>

<status>be right back</status> <priority>0</priority>

</presence>

Q8.6 Create a presence document for the user Bob showing his status as available, his contact URI as sip:bob@pc33.example.com, and his device as capable of both audio and video.

Q8.7 How are entity tags used in SIP?

Q8.8 Explain how partial publication works with an example.

Q8.9 What is a resource list server?

Q8.10 Explain conditional event notification.

216

SIP: Understanding the Session Initiation Protocol

References

[1]http://www.icq.com.

[2]http://www.aim.com.

[3]Rosenberg, J., “SIMPLE made Simple: An Overview of the IETF Specifications for Instant Messaging and Presence Using the Session Initiation Protocol (SIP),” draft-ietf-simple-sim- ple-05 (work in progress), March 2009.

[4]Roach, A., “Session Initiation Protocol (SIP)-Specific Event Notification,” RFC 3265, June 2002.

[5]Niemi, A., “Session Initiation Protocol (SIP) Extension for Event State Publication,” RFC 3903, October 2004.

[6]Sugano, H., et al., “Presence Information Data Format (PIDF),” RFC 3863, August 2004.

[7]Rosenberg, J., “A Presence Event Package for the Session Initiation Protocol (SIP),” RFC 3856, August 2004.

[8]Rosenberg, J., “A Watcher Information Event Template-Package for the Session Initiation Protocol (SIP),” RFC 3857, August 2004.

[9]Rosenberg, J., “An Extensible Markup Language (XML) Based Format for Watcher Information,” RFC 3858, August 2004.

[10]Schulzrinne, H., et al., “RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF),” RFC 4480, July 2006.

[11]Schulzrinne, H., “CIPID: Contact Information for the Presence Information Data Format,” RFC 4482, July 2006.

[12]Rosenberg, J., “A Data Model for Presence,” RFC 4479, July 2006.

[13]Roach, A., B. Campbell, and J. Rosenberg, “A Session Initiation Protocol (SIP) Event Notification Extension for Resource Lists,” RFC 4662, August 2006.

[14]Khartabil, H., et al., “An Extensible Markup Language (XML)-Based Format for Event Notification Filtering,” RFC 4661, September 2006.

[15]Rosenberg, J., “The Extensible Markup Language (XML) Configuration Access Protocol (XCAP),” RFC 4825, May 2007.

[16]Rosenberg, J., “Extensible Markup Language (XML) Formats for Representing Resource Lists,” RFC 4826, May 2007.

[17]Isomaki, M., and E. Leppanen, “An Extensible Markup Language (XML) Configuration Access Protocol (XCAP) Usage for Manipulating Presence Document Contents,” RFC 4827, May 2007.

[18]Rosenberg, J., “Presence Authorization Rules,” RFC 5025, December 2007.

[19]Lonnfors, M., and K. Kiss, “Session Initiation Protocol (SIP) User Agent Capability Extension to Presence Information Data Format (PIDF),” RFC 5196, September 2008.

Presence and Instant Messaging

217

[20]Urpalainen, J., “An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors,” RFC 5261, September 2008.

[21]Lonnfors, M., et al., “Presence Information Data Format (PIDF) Extension for Partial Presence,” RFC 5262, September 2008.

[22]Lonnfors, M., et al., “Session Initiation Protocol (SIP) Extension for Partial Notification of Presence Information,” RFC 5263, September 2008.

[23]Niemi, A., M. Lonnfors, and E. Leppanen, “Publication of Partial Presence Information,” RFC 5264, September 2008.

[24]Peterson, J., “Address Resolution for Instant Messaging and Presence,” RFC 3861, August 2004.

[25]Niemi, A., “An Extension to Session Initiation Protocol (SIP) Events for Conditional Event Notification,” draft-ietf-sipcore-subnot-etags-20 (work in progress), April 2009.

[26]Garcia-Martin, M., and G. Camarillo, “Extensible Markup Language (XML) Format Extension for Representing Copy Control Attributes in Resource Lists,” RFC 5364, October 2008.

[27]Campbell, B., et al., “Session Initiation Protocol (SIP) Extension for Instant Messaging,” RFC 3428, December 2002.

[28]Schulzrinne, H., “Indication of Message Composition for Instant Messaging,” RFC 3994, January 2005.

[29]Garcia-Martin, M., and G. Camarillo, “Multiple-Recipient MESSAGE Requests in the Session Initiation Protocol (SIP),” RFC 5365, October 2008.

[30]Campbell, B., R. Mahy, and C. Jennings, “The Message Session Relay Protocol (MSRP),” RFC 4975, September 2007.

[31]Jennings, C., R. Mahy, and A. Roach, “Relay Extensions for the Message Sessions Relay Protocol (MSRP),” RFC 4976, September 2007.

[32]Klyne, G., and D. Atkins, “Common Presence and Instant Messaging (CPIM): Message Format,” RFC 3862, August 2004.

[33]Burger, E., and H. Khartabil, “Instant Message Disposition Notification (IMDN),” RFC 5438, February 2009.

[34]Niemi, A., M. Garcia, and G. Sandbakken, “Multi-Party Chat Using the Message Session Relay Protocol (MSRP),” draft-ietf-simple-chat-04 (work in progress), March 2009.

[35]Holmberg, C., and S. Blau, “An Alternative Connection Model for the Message Session Relay Protocol (MSRP),” draft-ietf-simple-msrp-acm-01 (work in progress), August 2009.

[36]Camarillo, G., A. Roach, and O. Levin, “Subscriptions to Request-Contained Resource Lists in the Session Initiation Protocol (SIP),” RFC 5367, October 2008.

[37]Levin, O., “Ad-Hoc Resource Lists Using SUBSCRIBE in SIMPLE,” draft-levin-simple- adhoc-list-01.txt (work in progress), November 2003.

[38]Khartabil, H., et al., “Functional Description of Event Notification Filtering,” RFC 4660, September 2006.

218

SIP: Understanding the Session Initiation Protocol

[39]http://www.xsf.org.

[40]Saint-Andre, P., ( ed.), “Extensible Messaging and Presence Protocol (XMPP): Core,” RFC 3920, October 2004.

[41]Saint-Andre, P., (ed.), “Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence,” RFC 3921, October 2004.

[42]Saint-Andre, P., “Basic Messaging and Presence Interworking Between the Extensible Messaging and Presence Protocol (XMPP) and Session Initiation Protocol (SIP) for Instant Messaging and Presence Leveraging Extensions (SIMPLE),” draft-saintandre-xmpp- simple-10 (work in progress), August 2007.

[43]Saint-Andre, P., “Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP),” RFC 4622, July 2006.

[44]Saint-Andre, P., S. Loreto, and F. Forno, “Interworking Between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): Multi-Party Text Chat,” draft-saintandre-sip-xmpp-groupchat-01 (work in progress), March 2009.

[45]Ludwig, S., et al., “Jingle,” XSF XEP 0166, June 2007.

[46]Saint-Andre, P., “Interworking Between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): Media Sessions,” draft-saintandre- sip-xmpp-media-01.txt (work in progress), March 2009.

[47]http://www.ietf.org/html.charters/xmpp-charter.html.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]