这章主要涉及internet telephony。编码标准,RTP,SIP, 和一个example sdterisk
1. Why need Internet telephony?(经济因素,统一的硬件,支持移动设备,增加services)
- Economical perspective:
1. reduce investment costs for network hardware
2. same infrastructure for all classes of data/reduced amount of protocols
3. efficient coding possible
- enhanced functionality/flexibility
1. supports mobility of users/devices
2.can be easily extended by further services
2. Transformation to PDUs
- Bit stream: stream of audio data generated continuously by telephony application
- Logical Data Unit(LDU): Media dependent assembly of packets, e.g. blocks of individual samples
- Protocol Data Unit(PDU): packet of a communication protocol consisting of header and payload part.
3. Audio coding :
- continuous sinal and frequency range : 300-3400hz. --> low-pass filter: smoothing and removing of high-frequency noise-->sampling:sample rate >2*frequency--->coding:sample-based:single samples are coded or segment based : segnment of 10-30ms are coded.
这部分算是通信的内容,主要涉及到了采样定理和信号特性。
4.comparison of codecs
对基本coding标准进行介绍: compression 越低, delay越小;data rate是一个重要的参考
5. Protocol:
5.1 结构 从顶向下 coding/decoding / transport layer/ network layer.
显然我们需要使用ip 在network layer,用t c p/ udp 在transport layer以保证现有的设备可以被使用,但是我们需要在tcp/udp之上增加一个协议来规范audio communication.
dedicated protocols and mechanisms needed for:
- signaling and session initiation / termination
- Transport of audio data
- Addressing of participants
- Interoperability with further communication/ telephony approaches
5.2 ENUM
- ENUM DNS offers mapping of telephony numbers to URIs using NAPTR(Naming Authority Pointer) resource records
- 数字反向,IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:alice@a.de!"
- 2 types: Carrier-ENUM/ USer-ENUM:
carrier-ENUM: send request containing the queried user telephone number to SIP-Server, SIP server transfer the telephone number to NAPTR resource records and forward it to the ENUM server then Carrier-ENUM returns the URIs;SIP server find the SIP-server which is responsible for the queried user. And this server forward request to queried user.
user-ENUM: users send requests to ENUM server directly using NAPTR records and get the URI of the sip-server which is repsonsile for the queried users. Then users can forward requests to SIP-Server directly and try to build up communication between queried Users directly. when quried user get permission information from sip-server, the communciation has been built.
5.3 some terms including : LDAP: Lightweight Directory Access Protocol --located user server; TRIP: telephony routing over IP - exchange of routing information; MG: media gateway; MGC: media gateway controller;Megaco: Media Gateway control protocol; MGCP- Media Gateway control protocol;PSTN - Public switched Telephone Network.
5.4 RTP: real-time transport protocol
- Real-time layer is located in transport layer and application layer.
- Used in huge amount of audio and video communication systems
- Functionality: Identification of media source (source ID); Packet ordering(source ID); Synchronisation(via timestamp):removal of Jitter, synchronisation of audio and video; Dynamic flow control(using RTCP)
- Real-time transport based on UDP
- Audio packets contain 10-50 ms of audio data
- RTP adds at least 12 Byte header for each packet
- Used Codecs are specified by an ID
首先RTP位于传输层和应用层中间,然后主要功能是进行多媒体包源标示,包顺序,同步。分别用identifier of media source, sequence number, timestamp. 动态流控制用RTCP。 基于UDP,是segment-based coding.
5.5 RTP header(minimum of 12 Bytes)
5.6 RTCP - RTP control protocol
- RTCP = support protocol for RTP
- Used for: feedback on QoS parameters(packet losses and RTTs)--> used for flow control and error correction; identification of participants of a RTP session
- RTP specification defines five RTCP packet types:
1. SR: sender report : transmission and reception statistics from active senders
2.RR:Receiver report: Reception statistics from receivers; Contains e.g. last sequence number, interarrival jitter, commulative number of lost packets.
3. SDES: source description items: Information about the source, e.g. name and e-mail.
4.BYE: Indification of end of participation
5.APP: application-specific functions
总之,RTCP是RTP的支撑协议,主要用于feedback - error correction , flow control; identification of participants of a RTP session; 4种类型包:SR, RR, SDES, BYE, APP
5.5 SIP
is used for creating, modifying, and terminating sessions that works independently of underlying transport protocols and without dependency on the type of session that is being established.
- session = "exchange of data between an association of participants"
- challenges: 1. mobility of participants/2.availability via several names/3.communication via different media.
- functionality of sip: 1.localization of participants/ 2.session establishment/ 3.presence management/ 4.negotiation of session parameters such as used audio/video codecs
- user agent contains a user agent server and a user agent client part
- userclient is generating a request based on some external event and processes responses
- userserver receives requests and generates response
- sip is a transcational protocol:
1. one transcation consists of a single request and one or several response
2. requests are sent by client transactions
3. responses are sent by server transactions
- messages:
1. message structure is similar to HTTP 1.0/1.1:
1.1 Text messages
1.2 Header contains
1.3method/URI/SIP version/Key-value pairs such as "to" or "from"
2. Body depends on SIP method and contians e.g. SDP data
3. Responses contain status/success/error code plus associated message
- Requests:
1. six important request types:
1.1Register:1. manages bindings between a SIP or SIP URI and an IP address/2.Used to add, remove or query for bindings
2. INVITE: most important request: establishes session between user agents and is used to negotiate session parameters
3. ACK: confirms session establishment
4. BYE: terminates a request
5. OPTIONS: used to request features of communication partner
- Response:1.1xx provisional responses/2.success3/redirect/4.bad request/5.server error/6.global error
5.6 SDP exmaple
- session description protocol defined in RFC 4566
- Used to describe multimedia session during session establishment
- Used by SIP and further protocols such as RTSP
- text based format
- v= protocol version
- o = initiator of session
- c = information about connection
- m =media name
- a =media attributes
- component:
User Agent: client/server application running on end user devices
Proxy server: forwards requests to further SIP domains
redirect server : redirects requests to new location of UA
registrar: maps sip names to address
- SIP uniform resource identifier
1.URI scheme alternative: "sip" for secure connections
local user name, e.g. "alice"
associated domain name, e.g. "a.de"
sip:user@domain
2. goal: unique identification of users and services independent from current location, e.g.:sip:alice@a.de
3. alternatively,"tel" URLs for telephony calls may be used
4. focus of SIP is directed to mobility:
- user/service mobility: interaction with user/services is independent from location of user/service
- device mobility: changine ip addresses/ temporary unavailablity are supported
- session mobility: sip session can be transfered to another device
5.location of users via SIP URI
- DNS registeration:
1.SRV(service) resource records of the DNS(domain name system ) can be used to identify services associated to a specific domain
2. SRV resource record contains the service name, the transport protocol and the associated domain name plus a port number, a priority and weight information and the name of the host providing the service
3. Usage in SIP:
address of sip proxy: address of SIP proxies may point to different domain; renders several physical SIP proxies per logical proxy possible: sip:a.de->sip1.a.de,sip2.a.de
one physical sip proxy for several logical proxies
sip:a.de, sip:d.de -? sip.iptel.org
- SIP registeration
1. registration is done using the REGISTER request
2. usually requires authentication
3.registrar manages addresses and collaborates with Proxy in same domain
4. New registration necessary after a specific timespan
- address resolution via dns:
1. alice@a.de ->DNS query(SRV, sip.tcp.b.de)->DNS(determinde SIP proxy of b.de via SRV query)
2. proxy.b.de
3. alice@a.de -> (a record, proxy.b.de) -> DNS(determine IP of proxy)
4. a record:24.2.2.3
5. invite -> proxy(determine ip of bob via location service )-->invite bob@b.de
6. SIP cases:scenario(剧本)-based discussion of SIP
6.1 peer-to-peer
both uAs are located in different subnets; access via ip addresses possible;UAs establish a session directly; IP is determined via Redirect server; Direct RTP session for media transfer
6.2proxy
one procy for each domain; registration is only done at local register;ip address is determined within destination domain;direct RTP session(IP and port of the reply to INVITE);recoding of routes - response on the same route:follow-up request directly or follow -up on recorded route.
6.3 SIP -> telephony network
call initiated by sip ua; telephon number is provided as "tel" uri; sip proxy determines via location server sip URI of responsible gateway; SIP gateways controls media gateway; RTP session is established between UA and MG; Transformation to regular telephony connection between MG and phone; communication initiated by conventional telephone network; sip ua has assigned phone number via ENUM to SIP URI; SIP address is determined using a service control point(SCP); Gateway establishes connection to sip ua