4. Sampling, Quantization, Encoding 10101111…01101101 Sample at twice the highest voice frequency 2 x 4000=8000 Hz (interval of 125 µ sec) Round off samples to one of 256 levels (introduces noise) Encode each quantized sample into 8 bit code word PCM: 8000 x 8 bits = 64 kb/s Other techniques (differential coding, linear prediction) 2.4 kb/s to 64 kb/s +127 +0 -127
5.
6. Receive buffer (playout buffer or circular buffer) playout buffer while (true) { buf = read (au,20ms); //blocks if (!silence) sendto (remote, buf); … buf = get (20 ms); write (au, buf); } while (true) { buf = recvfrom(...); // blocks put(buf); } 20 ms packet microphone sendto(remote IP:port) read speaker 20 ms packet write get Received packet recvfrom() put
7.
8.
9. Real-time Transport Protocol (RTP) Encoded Audio RTP Header UDP header IP header msg sendto(…, msg, …) recvfrom(…, msg, …) Sequence number Optional contributors’ list (CSrc) Source identifier (SSrc) Timestamp (proportional to sampling time) Payload type CC M V P X RTP: media transport RTCP: QoS feedback 8 bits 8 bits 16 bits
11. RTP-based conference Mixer Transcoder -law -law G.729 G.729 -law -law Mixer mixes multiple streams, and puts rtp.ssrc s of contributors in the mixed packet as rtp.csrc Transcoder converts one encoding to another. Typically to accommodate heterogeneous bandwidth links.
12.
13.
14. SIP message format INVITE sip:alice@home.com SIP/2.0 From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject : How are you? ... SIP/2.0 200 OK From: “Bob” <bob@office.com> To: “Alice” <alice@home.com> Subject: How are you? ... Request Response
15. Session Description Protocol (SDP) Alice Bob INVITE alice@home.com I can support -law and G.729 Send me audio at 202.16.49.27:6780 OK; I can support -law Send me audio at 128.59.19.194:8000 202.16.49.27 128.59.19.194 ACK To port 8000 RTP To port 6780 RTP
16. SDP message format and offer answer INVITE sip:alice@home.com SIP/2.0 ... v=0 o=bob 26172 27162 IN IP4 202.16.49.27 s=SIP call c=IN IP4 202.16.49.27 t=0 0 m= audio 6780 RTP/AVP 0 8 5 m= video 6790 RTP/AVP 31 Request Response SIP/2.0 200 OK ... c=IN IP4 128.59.19.194 t=0 0 m= audio 8000 RTP/AVP 0 8 m= video 0 RTP/AVP 31
17.
18.
19.
20.
21.
22.
23. Example call setup (3) invite (4) moved (5) @school.edu Bob @home.com (6) (6) (6) unavailable (7) Alice (8) (11) cancel (12) ok (1) invite (2) moved @yahoo.com @residence.net @visiting.com @lab.school.edu (9) ok (10) (13)
24.
25.
26.
27.
28.
29.
30. Where do the services reside? Make call when boss is online … Enter your authentication PIN for billing… B2BUA Double ringing sound when boss calls… Endpoint Forward to office phone during day, and home phone during evening… Proxy/registrar Endpoint Service control on client vs server Use finger for locating user…
31.
32.
33.
34.
35.
36.
37. VoiceXML contd. <form action=“url”> Enter your Id: < input name=‘id’> <input type=‘submit’> </form> <form> < field name=‘id’> <prompt> Your ID, please. </prompt> </field> <block> <submit next=“url”/> </block> </form> Telephony, speech synthesis or audio output, user input and grammar, program flow, variable and properties, error handling, …
Internet telephony or Voice over IP involves transport of telephone calls over the Internet. Most of the interest in Internet telephony is motivated by cost savings and ease of integrating new services. In a way, Internet telephony is closer to the Internet services such as email and web, than to traditional telephony. It employs a variety of protocols, including RTP (Real-time Transport Protocol) for transport of multimedia data and SIP (Session Initiation Protocol) for signaling, i.e., establishing and controlling sessions. SIP is designed to integrate with other Internet services such as email, web, voice mail, instant messaging, presence, multi-party conferencing and multimedia collaboration. In this presentation, I give a brief tutorial of Internet telephony services using SIP.