Helsinki University of Technology Department of Electrical and

  • Slides: 21
Download presentation
Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to

Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point and point to multi point calls over IP Helsinki 27. 11. 2001 Supervisor: Instructor: 1 © NOKIA FILENAMs. PPT/ DATE / NN Raimo Kantola Heikki Salovuori MSc.

AGENDA • Different types of call services • • • Used protocols • •

AGENDA • Different types of call services • • • Used protocols • • © NOKIA General introduction to VOIP protocols Discussion on what simplex connections need for signaling protocol Introduction to our choise for simplex call signaling Voip client implementation • • 2 Differences between simplex (streaming) and duplex calls Role of server in simplex calls General operation of VOIP client General architecture of simplex call type VOIP client FILENAMs. PPT/ DATE / NN

Call services 3 © NOKIA FILENAMs. PPT/ DATE / NN

Call services 3 © NOKIA FILENAMs. PPT/ DATE / NN

Why have simplex calls 1 1. No quality of service in internet • Streaming

Why have simplex calls 1 1. No quality of service in internet • Streaming call is send only one direction. Receiver cannot speak at the same time as speaker is speaking. => Receiver can use bigger jitter buffer to buffer packet sending speed variation than used in normal VOIP applications. 2. New way to communicate • Message to one receiver (or many receivers) at the time. From previous same kind applications average duration of one simplex call is 7 seconds. This causes special needs to be able to start call fast, setup should take 0, 5 – 1 s. 4 © NOKIA FILENAMs. PPT/ DATE / NN

Why have simplex calls 2 3. Streaming call is easy to copy several receiver

Why have simplex calls 2 3. Streaming call is easy to copy several receiver Servers in picture areused only by this application. Servers forward this application packets. IP network 5 © NOKIA FILENAMs. PPT/ DATE / NN

New problems in simplex call handling Problems in simplex call system handling: (These problems

New problems in simplex call handling Problems in simplex call system handling: (These problems define the role for ”server system” when simplex call mode is used Which call should be played? How to minimize traffic , especially air traffic to phone? 1. 2. Should outgoing call be ended? Should starting call be dropped? 6 © NOKIA FILENAMs. PPT/ DATE / NN

New problems in simplex call handling 3. How to keep a record who are

New problems in simplex call handling 3. How to keep a record who are using the service? 4. How to specify which calls you want to listen? 5. How to specify rights for calls ? Who can speak? 6. Usability. How to use service so that it is easy and simple to use? 7 © NOKIA FILENAMs. PPT/ DATE / NN

protocols in VOIP SIP and rtp handling are in the scope of this work

protocols in VOIP SIP and rtp handling are in the scope of this work 8 © NOKIA FILENAMs. PPT/ DATE / NN

Functions of RTP • RTP Real Time Protocol • RTP is protocol, which provides

Functions of RTP • RTP Real Time Protocol • RTP is protocol, which provides timing information to packets. • RTP protocol does not include jitter (= time buffering for variation of packet arrival times) buffering function, but jitter buffering can be made according to information in RTP headers. Jitter buffering is own application. • Normally used to add time information to packets from sender to receiver. Also used to specify realtime connection and codec (audio / video) which has created the sent data. 9 © NOKIA FILENAMs. PPT/ DATE / NN

Streaming special needs for signalling Problem in point to multipoint call should start ride

Streaming special needs for signalling Problem in point to multipoint call should start ride away we don’t have Normally SIP or H. 323 is used for VOIP call signalling. Now we are not interested to get acknowledge from every called party in point to multipoint call. Sip is not appropriate signalling protocol because according to protocol we must get acknowledgement from receiver. However SIP is very easy to adjust the needs for signaling. Sip can be used as signaling protocol in many different applications. Acknowledgement in point to multipoint calls would introduce unnecessary delays when ack message is waited. Acknowledged setup messages 10 © NOKIA FILENAMs. PPT/ DATE / NN

How to speed up setup time ? Usage of acknowledgement in point to multipoint

How to speed up setup time ? Usage of acknowledgement in point to multipoint calls setup messages would introduce unnecessary delays when ack message is waited. On the other hand if we receive some acks but not all should we wait for all acks to arrive or should the call be started right away? question is : how to set limits when point to multipoint call can be started? Better solution for setup messages is to define a time after call is started. No acknowledgements etc. is send. Normally in VOIP calls in call setup phase also the codec is chosen. If we could agree on all issues that are not directly depending on call setup, (used codec, receiver(s)) so that actual setup message contains only relevant information. ÞSIP or H. 323 cannot be used for this kind of signaling. New signaling protocol is needed: One solution is to transfer signaling information 11 on top of RTP. © NOKIA FILENAMs. PPT/ DATE / NN

SIP usage • SIP (Session Initialization protocol) contains ready made signaling messages without payload.

SIP usage • SIP (Session Initialization protocol) contains ready made signaling messages without payload. Payload can be add with SDP Session Description Protocol. Only the format of payload is defined, not sent data. • The role of SIP is a bit different than in normal VOIP solutions • SIP is used for: • sending log on /log off messages to service (SIP : REGISTER) • defining which calls are received • defining in point to multipoint calls who are callees 12 © NOKIA FILENAMs. PPT/ DATE / NN

Pros and cons in rtp usage in signalling Positive RTP is well specsed, ready

Pros and cons in rtp usage in signalling Positive RTP is well specsed, ready designed interface Negative Originally planned for real time data transfer Works on top of UDP => no connection RTP is used in almost all VOIP solutions. oriented benefits. No automatic packet loss detection or resend Easier to use ready standardized protocol than try to standardize a completely new protocol. RTP header needs only new payload type for signaling 13 © NOKIA FILENAMs. PPT/ DATE / NN

RTP header 0 V PX CC M Payload type 31 12 Bytes sequence number

RTP header 0 V PX CC M Payload type 31 12 Bytes sequence number Timestamp SSRC Symbol defination and binary value if standard lenght in bits • V Version. Identifies the version of rtp • P Padding. When set, the packet contains one or more additional padding octetsat the, end which are not part of the payload • X Extension bit. When set the fixed header is followed by exactly one extension • CC CSRC count. Number of CRSC identifiers that follow fixed header • M Marker bit. The interpretation of the marker is defined by a profile. It is intented to allow significant events such as frame boundaries to be marked in the packet stream • PT Payload type. Identifies the format of the RTP payload and determines its interoperability by the application. A profile spacifies a default static mapping of payload type codes to payload formats. Additional payload type codes may be defined dynamically through non-RTP means • sequence number increased by one for each RTP packet sent, and may be used by the default to detect packet loss and to restore packet sequence 14 2 1 1 4 1 7 16 • timestamp • SSRC identifies the synchronization source. This identifier is chosebn randomly, with the FILENAMs. PPT/ DATE / NN that two synchronization sources will have same SSRC identifier © NOKIA intent Reflects the sampling instant of the first octet in the RTP data packet. The sampling instant must be derived from a clock that increments monotonically and linearly in time to allow synchronization and jitter calculations. 32

RTP header usage in signaling • RTP header can be used for signaling purposes

RTP header usage in signaling • RTP header can be used for signaling purposes by defining a payload type for signaling. This way application knows that message contains signaling. • All the other fields can remain the same. • Application must build retransmit and confirmation mechanism in message charts. • RTP signaling is used only for setup and termination messages. V PX CC M Payload type Timestamp SSRC 15 © NOKIA FILENAMs. PPT/ DATE / NN sequence number

RTP signaling example 1 Point to multipoint call: All signaling messages are sent 3

RTP signaling example 1 Point to multipoint call: All signaling messages are sent 3 times to avoid packet loss errors Call setup 1. Leading RTP packet 2. Leading RTP packet 3. Leading RTP packet 1 -3 setup message 3. Leading RTP packet Call ongoing 4. Audio packets of the call 4 Audio packets 4. Audio packets of the call Call termination 5. Trailing RTP packet 6. Trailing RTP packet 7. Trailing RTP packet Client 1 16 © NOKIA Server FILENAMs. PPT/ DATE / NN 5 -7 Termination messages Client 2

RTP Signaling example 2 Point to point call All signaling messages are sent 3

RTP Signaling example 2 Point to point call All signaling messages are sent 3 times to avoid packet loss errors When we receive ACK we can stop sending leading RTP Call setup 1. Leading RTP packet 2. Leading RTP packet 3. RTP ACK 4. RTP ACK 5. RTP ACK 1 -2 setup message 3 -5 ACK messages to setup. 6 Audio packets Call ongoing 6. Audio packets of the call Call termination 7. Trailing RTP packet 8. Trailing RTP packet . 9. Trailing RTP packet Client 1 17 © NOKIA Server FILENAMs. PPT/ DATE / NN 7 -9 Termination messages Client 2

General requiremnets for client Work share between client and server: (see slides 6 -7

General requiremnets for client Work share between client and server: (see slides 6 -7 for serverside general problems of simplex calls) 1. Client proposes new calls server decides can client start a call 2. Server looks that client receives only one call at the time 3. Client takes care of voice handling. Server only forwards voice 4. packets to clients. 5. My implementation (as a part of master thesis work): 6. Client working on linux in laptop, connected with Wlan 7. and IPv 6 to internet. 8. 9. 18 © NOKIA Must have support for RTP signaling, SIP signaling and graphical us interface. FILENAMs. PPT/ DATE / NN

client architecture 19 © NOKIA FILENAMs. PPT/ DATE / NN

client architecture 19 © NOKIA FILENAMs. PPT/ DATE / NN

RTP packet handling flow chart when rtp contains signaling and audio packets Flow chart

RTP packet handling flow chart when rtp contains signaling and audio packets Flow chart for call state logic shown in previous slide. 20 © NOKIA FILENAMs. PPT/ DATE / NN

Flow chart of audio handling in VOIP Audio device Loudspeaker Microphone D/A conversion A/D

Flow chart of audio handling in VOIP Audio device Loudspeaker Microphone D/A conversion A/D conversion Audio device driver Media subsystem Decoding Encoding Deframing Framing Jitter buffer RTP packetization RTP depacketization UDP / IP depacketization Network device driver Network device Physical transmission internet 21 © NOKIA FILENAMs. PPT/ DATE / NN server in internet ornothing internet