Sei sulla pagina 1di 51

H.

248 Protocol
Objectives

Upon the completion of this chapter, you will be


able to:
Understand the concept of H.248 protocol
Understand the components of H.248 protocol
Describe the Call Flow Scenario (CFS)
Course Outline

Concept of H.248 Protocol


Components of H.248 Protocol
Call Flow Scenario
Background story

First generation IP phone based on H.323 system

Limited Function
PSTN/ISDN extensibility
Limited system capacity
GK
extensibility

GW

Media translation
H323 Terminal
Signaling switch

Call control
Evolution of H.248
Questions in mind
Who will use H.248 to communicate with each
other?

What is the function of H.248

What is the characteristics of H.248


H.248 Protocol

BICC/SIP-T
Control Softswitch

SIGTRAN H.248

RTP/RTCP
Edge
SG MG

ISUP/MTP TDM Trunk


Answer of Q1.

MG H.248
H.248
IAD
Answer of Q2.
What is the function of H.248?

It is primarily used to separate the call control


logic from the media processing logic in a
gateway.
Answer of Q3.
Characteristics:
ASN.1 and Text encode mode
Open extensibility
Better support on multi-media service and multi-meeting
Course Outline

Concept of H.248 Protocol


Components of H.248 Protocol
Call Flow Scenario
Context and Termination

Media Gateway

Termination
Termination
Termination
Termination
Termination
Termination
Termination
Termination
Term. X Context. X

Terminations Contexts
Terminology Interpretation
Termination
Definition Source and Destination of a media stream.
Semi-permanent termination: physical termination. For
example: ports in a IAD
Ephemeral termination: a information stream. For
example: a RTP voice media.
Root termination: Device itself.
Context
Definition: represents the relationship between a group
of terminations. (who hears/sees whom)
Null context: empty context. Represents terminations
that havent establish relationship with others.
Connect Model

Media Gateway

CONTEXT

Termination
Termination
SCN Bearer
SCN Bearer
Channel
Channel
Null Context

Media Gateway

Null CONTEXT

Termination
Termination
SCN Bearer
Channel SCN Bearer
Channel
Call waiting Sample

Media Gateway

CONTEXT C1

Term. T2 Term. T1
SCN Bearer
RTP Stream
Channel

CONTEXT C2
Term. T3
SCN Bearer
Channel
Call waiting Sample

Media Gateway

CONTEXT C1

Term. T1

SCN Bearer
Channel

CONTEXT C2

Term. T2 Term. T3
SCN Bearer
RTP Stream
Channel
Context
Context Characteristic
ContextID: Identification of Context
Topology: Direction of media stream flow
Priority: Priority information related to context
Emergency call id: identification of emergent call info.
Call
Termination
Termination ID
Identification of termination, assigned by MG
Termination descriptor
Property: service status, media passage property
Event: on_hook, off_hook etc.
Signal: dialing tone, DTMFsignaling etc.
Statistics: accumulate statistical data and report to
MGC
Descriptor
Descriptor
Definition: a syntax element (data structure), used
to describe the property of termination
H248 V1. defines 19 descriptors 7 categories
Status: TerminationState, Modem;
Media stream: Media_stream, local, remote, local
control
multiplex;
Event related: Event, digitmap, eventbuffer,
Observedevents; Signals;
Package
Package
Definition: systematic extensibility of defining
characteristics that havent been defined in termination
Common Packages
al (analog line management package)
cg (call procedure management package)
dd (DTMF detection package)
au (audio unit package)
Transaction

Sender Receiver

TransactionRequest

TransactionReply/

TransactionPending

TransactionResponseAck
Transaction

TransactionRequest(TransactionId {
ContextID {Command _ Command},
...
ContextID {Command _ Command } })

Transaction
TransactionReply(TransactionID {
ContextID { Response _ Response },
API ...
ContextID { Response _ Response } })
Structure
TransactionPending(TransactionID { } )

TransactionResponseAck(TransactionID { }
TransactionID{ })
Commands

MGC MG

Add

MGCMG
Add a termination
to a context,
Create a context

when contextID is
not specified
Commands

MGC MG

Add

Modify MGCMG
Modify the
property,event or
signal parameters of
a terminal
Commands

MGC MG

Add

Modify MGCMG
Delete a terminal
subtract from a context
Delete the context

if there is no more
terminals in the
context
Commands

MGC MG

Add

Modify MGCMG
Move a terminal
subtract from one context to
another
Move
Commands

MGC MG

Add

Modify MGCMG
Obtain the current
subtract status, event, signal
and statistics
Move
information of a
AuditValue terminal
Commands

MGC MG

Add

Modify MGCMG
Obtain the possible
subtract capacity
(characteristics,
Move
event, signal) of a
AuditValue MG

AuditCapability
Commands

MGC MG

Add

Modify MGMGC
Allows the MG to
subtract notify the SS for
any event change
Move

AuditValue

AuditCapability

Notify
Commands

MGC MG

Add

Modify MGCMG or
MGMGC
subtract MGCMG
Start service
Move Quit service
MGMGC
AuditValue
Start service
AuditCapability Quit service
Registration
Notify

ServiceChange
Transport

H.248
Softswitch
TCP/UDP

IP
H.248
Three-way Handshake

Port 2944: Text-encoded


MG
Port 2945: Binary-encoded
Transport

MGC Restart timer of


every MG is needed
to protected against
ServiceChange restart avalanche
Timer should be
initiate a random
MG MG MG MG value between 0 and a
Maximum waiting
delay(MWD)
Restart Avalanche
Course Outline

Concept of H.248 Protocol


Components of H.248 Protocol
Call Flow Scenario
Scenarios
Gateway Log-in/out
Call Setup
Call Termination
Gateway log in/out

IAD SS

MEGACO/1
[10.66.100.12]:2944
SVC_CHG_REQ Transaction = 9998 {
Context = - {
ServiceChange =
ROOT {Services {
MEGACO/1
[10.66.100.1]:2944 Method=Restart,
Reply = 9998 {
Context = - ServiceChangeAddress=2944
{ServiceChange = ROOT { SVC_CHG_REPLY , Profile=ResGW/1}
Services }
{ServiceChangeAddress=294
}
4, Profile=ResGW/1} } }
}
}
Call Setup

IAD SS IAD
MEGACO/1
Off_hook
[10.66.100.12]:2944
NTFY_REQ
Transaction = 49414
{ Context = -
NTFY_REPLY
{
Notify = AG58900 {

MEGACO/1 ObservedEvents = 2000


[10.66.100.1]:2944 {
P=49414{ 20020403T08131100 :
C=-{ al/of
N=AG58900}} }
}
}
Call Setup

IAD SS IAD
MEGACO/1
Off_hook
[10.66.100.12]:2944
NTFY_REQ
Reply = 25218
{
NTFY_REPLY
Context = -
MOD_REQ {
Modify = AG58900
Dial-tone MOD_REPLY
}
}
MEGACO/1
[10.66.100.1]:2944
T=25218{ C=-{
MF=AG58900{
DM=DM999264604954 {
(0x.|11x|[2-
8]xxxxxxx)},E=2002{
dd/ce{ DM=DM999264604954
},al/on,al/fl},SG{
cg/dt}}}}
Call Setup

IAD SS IAD
MEGACO/1
Off_hook
[10.66.100.12]:2944
NTFY_REQ
Transaction = 49415
{
NTFY_REPLY
Context = -
MOD_REQ { Notify = AG58900{
ObservedEvents = 2002 {
Dial-tone MOD_REPLY
20020403T08131500 :
Dialing dd/ce
NTFY_REQ
{ ds = 26778086" ,
MEGACO/1 NTFY_REPLY Meth = UM } } } } }
[10.66.100.1]:2944
Reply=49415{
Context=-{Notify=
AG58900}}
Call Setup

IAD SS IAD
MEGACO/1
Off_hook
[10.66.100.12]:2944
NTFY_REQ
Reply = 10003 {
Context = 2000 {
NTFY_REPLY
Add = AG58900,
MEGACO/1 MOD_REQ Add=RTP/00000{
[10.66.100.1]:2944
Media {
Transaction = 10003 MOD_REPLY
{Context = $ { Stream = 1 {
Add = AG58900,Add = $ NTFY_REQ Local {
{Media {Stream = 1 v=0
{LocalControl {Mode = NTFY_REPLY
c=IN IP4 10.66.100.12
ReceiveOnly,nt/jit=40 ; in
ADD_REQ m=audio 2222 RTP/AVP 0 4
ms},Local {v=0 c=IN IP4
a=ptime:30
$ m=audio $ RTP/AVP 0 ADD_REPLY a=recvonly}}}}}}
4 a=ptime:30}}}}}}
Call Setup
MEGACO/1
[10.66.100.1]:2944
IAD SS IAD Transaction = 50003
{Context = $ {
Off_hook
Add = AG58901 { Media {
NTFY_REQ Stream = 1 {LocalControl
{Mode=SendReceive} }},
NTFY_REPLY Events=1234{al/of},
Signals {al/ri}},Add = $
MEGACO/1 MOD_REQ {Media {Stream =1
[10.66.100.13]:2944 {LocalControl
Reply = 50003 { MOD_REPLY {Mode=SendReceive,
Context = 5000 { nt/jit=40 ; in ms}, Local {
NTFY_REQ
Add = AG58901, v=0
Add = RTP/00002{ c=IN IP4 $
NTFY_REPLY
Media { m=audio $ RTP/AVP 0 4 8
Stream = 1 { ADD_REQ a=ptime:30},
Local { Remote {
v=0 ADD_REPLY v=0
c=IN IP4 10.66.100.13 c=IN IP4 10.66.100.12
m=audio 1111 RTP/AVP 0 ADD_REQ
m=audio 2222 RTP/AVP 0 4
}} ; }}}} a=ptime:30} ;}}}}}
ADD_REPLY ring
Call Setup

IAD SS IAD

MOD_REQ

Ring_back MOD_REPLY
MEGACO/1
MEGACO/1 [10.66.100.12]:2944
[10.66.100.1]:2944 Reply = 10005
Transaction = 10005 { { Context = 2000
Context = 2000 {
Modify = AG58900
Modify = AG58900 {
Signals {cg/rt}}, Modify = RTP/00000
Modify = RTP/00000 { }
Media { }
Stream =1 {Remote {
v=0
c=IN IP4 10.66.100.13
m=audio 1111 RTP/AVP 0
}} ;}}}}
Call Setup

IAD SS IAD

MOD_REQ

Ring_back MOD_REPLY

MEGACO/1 NTFY_REQ Offhook


[10.66.100.13]:2944
Transaction = 50005 NTFY_REPLY
MEGACO/1
{Context = 5000 { [10.66.100.1]:2944
Notify = AG58901 Reply = 50005 {
{ObservedEvents =1234 { Context = 5000 {
19990729T22020002:al/o Notify = AG58901}
f}}}} }
Call Setup

IAD SS IAD

MOD_REQ

Ring_back MOD_REPLY

MEGACO/1 NTFY_REQ Offhook


[10.66.100.13]:2944
NTFY_REPLY MEGACO/1
Reply = 10006 {
[10.66.100.1]:2944
Context = 5000 MOD_REQ Transaction = 10006 {
{Modify = AG58901 }}
MOD_RERLY Context = 5000 {
Modify = AG58901 {
{E=2001{al/on,al/fl},
Signals { }}}}
Call Setup

IAD SS IAD

MOD_REQ

Ring_back MOD_REPLY

MEGACO/1 NTFY_REQ Offhook


[10.66.100.1]:2944
Transaction = 10006 { NTFY_REPLY MEGACO/1
[10.66.100.12]:2944
Context = 2000 { MOD_REQ
Reply = 10006 {
Modify = AG58900
MOD_RERLY Context = 2000
{ Signals={ } },
MOD_REQ {Modify = AG58900,
Modify = RTP/00000
Modify = RTP/00000}}
{Media {
MOD_REPLY
Stream = 1 {
LocalControl {
Mode=SendReceive Conversation Established
}}}}}}
Call Termination

IAD SS IAD

Onhook

NTFY_REQ

MEGACO/1 NTFY_REPLY
[10.66.100.13]:2944
Transaction = 50008 { MEGACO/1
Context = 5000 { [10.66.100.1]:2944
Notify = AG58901 Reply = 50008 {
{ObservedEvents =1235 { Context = 5000
19990729T24020002:al/o {Notify = AG58901}
n} } } } }
Call Termination

IAD SS IAD

Onhook

NTFY_REQ
MEGACO/1
MEGACO/1
NTFY_REPLY [10.66.100.12]:2944
[10.66.100.1]:2944
Reply = 10007 {
Transaction = 10007 { MOD_REQ
Context = 5000 {
Context = 2000 {
Modify = AG58900 }}
Modify= AG58900 MOD_REPLY
{signals { cg/bt }}}}
Call Termination

IAD SS IAD

Onhook
MEGACO/1
[10.66.100.13]:2944 NTFY_REQ
Reply = 50009 {
NTFY_REPLY
Context = 5000 {
Subtract = AG58901 { MEGACO/1
MOD_REQ
Statistics { [10.66.100.1]:2944
nt/os=45123, ; MOD_REPLY Transaction = 50009 {
nt/dur=40 ; }}, SUB_REQ Context = 5000 {
Subtract = RTP/00002{ Subtract = AG58901
SUB_REPLY
Statistics { {Audit{Statistics}},
rtp/ps=1245, Subtract = RTP/00002
nt/os=62345, {Audit{Statistics}}}}
rtp/pr=780,
nt/or=45123,
rtp/pl=0,
rtp/jit=27,
rtp/delay=48 }}}}
Call Termination

IAD SS IAD

Onhook

NTFY_REQ MEGACO/1
[10.66.100.12]:2944
NTFY_REPLY
MOD_REQ Reply = 50009 {
Context = 2000 {
MEGACO/1
[10.66.100.1]:2944 MOD_REPLY Subtract = AG58900 {
Transaction = 50009 { SUB_REQ Statistics {
Context = 2000 { nt/os=45123, ;
SUB_RERLY
Subtract = AG58900 nt/dur=40 ; }},
SUB_REQ
{Audit{Statistics}}, Subtract = RTP/00000 {
Subtract = RTP/00000 SUB_REPLY Statistics {
{Audit{Statistics}}}} rtp/ps=1245,
Conversation Terminated nt/os=62345,
rtp/pr=780,
nt/or=45123,
rtp/pl=0,
rtp/jit=27,
rtp/delay=48 }}}}
SS7 - H.248 SS7 signaling
Application
Database
Server
3. Analysis & Routing

13. ACM Softswitch


18. ANM 8. IA
M
4. Add 6. Add 11. ACM
12. Modify(Notify) 16. ANM
M 17. Modify
. IA 7. Reply of Add
2
5. Reply of Add
SG SG

1.
I AM
14 TG

M
19 . AC

IA
TG

9.
.A M

M
NM M

AC
AN

.
ZTE
.

10
LS1 ZTE 15
LS2

Potrebbero piacerti anche