Srinath Kollegal Badarinath
Kshitij Mehta
Jay Tolia
Introduction
 Video calling software application
 Compatible only on Apple Devices
 Doesn’t use traditional mobile phone network
 Works over Wi-Fi networks
 H.264 and AAC – video and
audio codec respectively
 SIP – IETF signaling protocol for VoIP
 STUN, TURN and ICE – IETF technologies for
traversing firewalls and NAT
 RTP and SRTP – IETF standards for delivering
real-time and encrypted media streams for
VoIP
 Study on SIP
 STUN, TURN and ICE
 Wireshark capture and practical
explanation
 Signaling protocol used for establishing
session in an IP network.
A session could be a simple two-way call or it
could be a multiple conference session.
Sip is an RFC standard (RFC 3261) from the
Internet Engineering Task Force (IETF)
 Request-Response protocol
 Resembles two other Internet protocols, HTTP
and SMTP
 SIP always runs over TCP/UDP
 Using SIP, telephony becomes another web
application and integrates easily into other
Internet services.
 SIP is a simple toolkit that service providers
can use to build converged voice and
multimedia services.
 Modular approach to IP telephony protocols
 Addresses the need for a protocol to deal
with generalized sessions.
 Finding potential Call Participants
 Contacting them as they move from place to
place
 Changing their location and even equipment
they are using.
The following sequence is a simple example
of a call set-up procedure:
1. To initiate a session, the caller (or User
Agent Client) sends a request with the SIP URL
of the called party.
2. If the client knows the location of the other
party it can send the request directly to their
IP address; if not, the client can send it to a
locally configured SIP network server.
3. The server will attempt to resolve the called
user's location and send the request to them.
There are many ways it can do this, such as
searching the DNS or accessing databases
4. Once found, the request is sent to the user
and then several options arise.
The commands that SIP uses are called methods.
 INVITE: Invites a user to a call
 ACK: Used to facilitate reliable message exchange for
INVITEs
 BYE: Terminates a connection between users or
declines a call
 CANCEL: Terminates a request, or search, for a user
 OPTIONS: Solicits information about a server's
capabilities
 REGISTER: Registers a user's current location
 INFO: Used for mid-session signaling
The following are SIP responses:
 1xx Informational (e.g. 100 Trying, 180
Ringing)
 2xx Successful (e.g. 200 OK, 202 Accepted)
 3xx Redirection (e.g. 302 Moved Temporarily)
 4xx Request Failure (e.g. 404 Not Found, 482
Loop Detected)
 5xx Server Failure (e.g. 501 Not Implemented)
 6xx Global Failure (e.g. 603 Decline
 SIP is described as control protocol for
creating, modifying and terminating session
with one or more participants. It is very
flexible.
 Call participant management: Invite/Cancel
other user during call.
 Call features change: During voice call u can
enable video.
STUN
Algorithm
• First, our system attempts to do a SSL 2.0 negotiation sending a
CLIENT-HELLO message.
• Apple’s server responds with a TLS 1.0 Server Hello response.
• Apple’s server sends a Certificate Request to my client. My client
sends a certificate response and tries to complete the ClientKey
Exchange.
• Hence, eventhough open protocol it requires a client-side certificate
to connect to the Apple server.
Shows:
• Issuer of Certificate: Verisign.net
•Version 2
•CRL number
•Authority Key
SIP PROTOCOL:
SIP proxy Server IP: 24.23.199.142 Source IP: 192.168.1.2
Destination IP: 10.0.0.10 Mapped IP address (NAT address): 76.102.17.43
 The client (initiator)sends a SIP "INVITE" message to the second system.
 Contains the learned information about its network using STUN and TURN.
System receives the ”INVITE” from the SIP proxy, prompting it to also learn about its
network environment using STUN.
“INVITE” contains Destination URI which is SIP:USER@76.102.17.43:16042
& SDP (session description protocol) message in the message body
 “via” tells the user that “respond back to this address”
 “contact” tells the user that “If you have any requests, send to this address”
-CREATOR/OWNER:
-MEDIA ATTRIBUTES: X-AAC, X-H264:
v—Tells the SDP
version
o—Lists the
organization of the
calling party
s—Describes the
SDP message
c—Lists the IP
address of the
originator
t—Tells the timer
value
m—Describes the
media that the
originator expects
a—Gives the media
attributes
Once both the users have information about the other network environment,
each device runs ICE algorithm.
 ICE checks pairs of the address learned to determine which pairs can be used to pass data
packets between the devices.
 If located behind same NAT, they can communicate directly.
 If they aren’t they must try the public addresses discovered via STUN.
 worst case, will nominate to relay data via the relay address.
 Finalize the ICE algorithm by choosing the pair which they will use, and coordinate to
complete the interaction.
 Once complete, both phones have a clear path on which to send data using RTP.
 RTP is a packet format for handling real-time data over UDP
FaceTime Skype
Open standards Closed protocol standards
Open MP3/AAC audio Microsoft’s Windows Media Audio
H.264 for video WMV
Supports HTML5 for interactive
content
Adobe Flash for interactive content
Questions..??
Apple Facetime Protocol

Apple Facetime Protocol

  • 1.
  • 2.
    Introduction  Video callingsoftware application  Compatible only on Apple Devices  Doesn’t use traditional mobile phone network  Works over Wi-Fi networks
  • 3.
     H.264 andAAC – video and audio codec respectively  SIP – IETF signaling protocol for VoIP  STUN, TURN and ICE – IETF technologies for traversing firewalls and NAT  RTP and SRTP – IETF standards for delivering real-time and encrypted media streams for VoIP
  • 4.
     Study onSIP  STUN, TURN and ICE  Wireshark capture and practical explanation
  • 5.
     Signaling protocolused for establishing session in an IP network. A session could be a simple two-way call or it could be a multiple conference session. Sip is an RFC standard (RFC 3261) from the Internet Engineering Task Force (IETF)
  • 6.
     Request-Response protocol Resembles two other Internet protocols, HTTP and SMTP  SIP always runs over TCP/UDP  Using SIP, telephony becomes another web application and integrates easily into other Internet services.  SIP is a simple toolkit that service providers can use to build converged voice and multimedia services.
  • 7.
     Modular approachto IP telephony protocols  Addresses the need for a protocol to deal with generalized sessions.  Finding potential Call Participants  Contacting them as they move from place to place  Changing their location and even equipment they are using.
  • 8.
    The following sequenceis a simple example of a call set-up procedure: 1. To initiate a session, the caller (or User Agent Client) sends a request with the SIP URL of the called party. 2. If the client knows the location of the other party it can send the request directly to their IP address; if not, the client can send it to a locally configured SIP network server.
  • 9.
    3. The serverwill attempt to resolve the called user's location and send the request to them. There are many ways it can do this, such as searching the DNS or accessing databases 4. Once found, the request is sent to the user and then several options arise.
  • 10.
    The commands thatSIP uses are called methods.  INVITE: Invites a user to a call  ACK: Used to facilitate reliable message exchange for INVITEs  BYE: Terminates a connection between users or declines a call  CANCEL: Terminates a request, or search, for a user  OPTIONS: Solicits information about a server's capabilities  REGISTER: Registers a user's current location  INFO: Used for mid-session signaling
  • 11.
    The following areSIP responses:  1xx Informational (e.g. 100 Trying, 180 Ringing)  2xx Successful (e.g. 200 OK, 202 Accepted)  3xx Redirection (e.g. 302 Moved Temporarily)  4xx Request Failure (e.g. 404 Not Found, 482 Loop Detected)  5xx Server Failure (e.g. 501 Not Implemented)  6xx Global Failure (e.g. 603 Decline
  • 12.
     SIP isdescribed as control protocol for creating, modifying and terminating session with one or more participants. It is very flexible.  Call participant management: Invite/Cancel other user during call.  Call features change: During voice call u can enable video.
  • 19.
  • 41.
    • First, oursystem attempts to do a SSL 2.0 negotiation sending a CLIENT-HELLO message. • Apple’s server responds with a TLS 1.0 Server Hello response. • Apple’s server sends a Certificate Request to my client. My client sends a certificate response and tries to complete the ClientKey Exchange. • Hence, eventhough open protocol it requires a client-side certificate to connect to the Apple server.
  • 42.
    Shows: • Issuer ofCertificate: Verisign.net •Version 2 •CRL number •Authority Key
  • 43.
    SIP PROTOCOL: SIP proxyServer IP: 24.23.199.142 Source IP: 192.168.1.2 Destination IP: 10.0.0.10 Mapped IP address (NAT address): 76.102.17.43  The client (initiator)sends a SIP "INVITE" message to the second system.  Contains the learned information about its network using STUN and TURN.
  • 44.
    System receives the”INVITE” from the SIP proxy, prompting it to also learn about its network environment using STUN.
  • 45.
    “INVITE” contains DestinationURI which is SIP:USER@76.102.17.43:16042 & SDP (session description protocol) message in the message body  “via” tells the user that “respond back to this address”  “contact” tells the user that “If you have any requests, send to this address”
  • 46.
    -CREATOR/OWNER: -MEDIA ATTRIBUTES: X-AAC,X-H264: v—Tells the SDP version o—Lists the organization of the calling party s—Describes the SDP message c—Lists the IP address of the originator t—Tells the timer value m—Describes the media that the originator expects a—Gives the media attributes
  • 47.
    Once both theusers have information about the other network environment, each device runs ICE algorithm.  ICE checks pairs of the address learned to determine which pairs can be used to pass data packets between the devices.  If located behind same NAT, they can communicate directly.  If they aren’t they must try the public addresses discovered via STUN.  worst case, will nominate to relay data via the relay address.  Finalize the ICE algorithm by choosing the pair which they will use, and coordinate to complete the interaction.  Once complete, both phones have a clear path on which to send data using RTP.  RTP is a packet format for handling real-time data over UDP
  • 48.
    FaceTime Skype Open standardsClosed protocol standards Open MP3/AAC audio Microsoft’s Windows Media Audio H.264 for video WMV Supports HTML5 for interactive content Adobe Flash for interactive content
  • 49.