A10&DSL D&T GroupA10&DSL D&T Group
AG_SP01_E1_P1AG_SP01_E1_P1
H.248 ProtocolH.248 ProtocolV1.1V1.1
2ObjectivesObjectives
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)
3Course OutlineCourse Outline
Concept of H.248 Protocol Components of H.248 Protocol
Call Flow Scenario
4Background storyBackground story
First generation IP phone based on H.323 system
PSTN/ISDN
GW
GK
H323 TerminalMedia translation
Signaling switch
Call control
Limited Function extensibility
Limited system capacity extensibility
5Evolution of H.248Evolution of H.248
6Questions in mindQuestions 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
7H.248 ProtocolH.248 Protocol
Softswitch
SG MG
BICC/SIP-T
H.248
RTP/RTCP
SIGTRAN
ISUP/MTP TDM Trunk
Control
Edge
8H.248H.248MG
IAD
Answer of Q1.Answer of Q1.
9Answer of Q2.Answer of Q2. What is the function of H.248?
It is primarily used to separate the call control logic from themedia processing logic in a gateway.
10
Answer of Q3.Answer of Q3. Characteristics:
z ASN.1 and Text encode mode
z Open extensibility
z Better support on multi-media service and multi-meeting
11
Course OutlineCourse Outline
Concept of H.248 Protocol
Components of H.248 Protocol Call Flow Scenario
12
Context and TerminationContext and TerminationMedia GatewayMedia Gateway
ContextsContexts
TerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerm. XTerm. X
TerminationsTerminations
Context. XContext. X
13
Terminology InterpretationTerminology Interpretation Termination
z DefinitionSource and Destination of a media stream. z Semi-permanent termination: physical termination. For example:
ports in a IAD
z Ephemeral termination: a information stream. For example: a RTP voice media.
z Root termination: Device itself.
Contextz Definition: represents the relationship between a group of
terminations. (who hears/sees whom)
z Null context: empty context. Represents terminations that havent establish relationship with others.
14
Connect ModelConnect Model
CONTEXTCONTEXT
TerminationTermination
SCN Bearer SCN Bearer ChannelChannel
TerminationTermination
SCN Bearer SCN Bearer ChannelChannel
Media GatewayMedia Gateway
15
Null ContextNull Context
Null CONTEXTNull CONTEXT
TerminationTermination
SCN Bearer SCN Bearer ChannelChannel
TerminationTermination
SCN Bearer SCN Bearer ChannelChannel
Media GatewayMedia Gateway
16
Call waiting SampleCall waiting Sample
Media Gateway
CONTEXT C1
Term. T2
RTP Stream
Term. T1
SCN Bearer Channel
Term. T3SCN Bearer
Channel
CONTEXT C2
17
Call waiting SampleCall waiting SampleMedia Gateway
CONTEXT C1
Term. T2
RTP Stream
Term. T3SCN Bearer
Channel
CONTEXT C2
Term. T1
SCN Bearer Channel
18
ContextContext Context Characteristic
z ContextID: Identification of Context
z Topology: Direction of media stream flow
z Priority: Priority information related to context
z Emergency call id: identification of emergent call info. Call
19
TerminationTermination Termination ID
z Identification of termination, assigned by MG
Termination descriptorz Property: service status, media passage property
z Event: on_hook, off_hook etc.
z Signal: dialing tone, DTMFsignaling etc.
z Statistics: accumulate statistical data and report to MGC
20
DescriptorDescriptor Descriptor
z Definition: a syntax element (data structure), used
to describe the property of termination
H248 V1. defines 19 descriptors7 categoriesz Status: TerminationState, Modem;
z Media stream: Media_stream, local, remote, local control
multiplex;
z Event related: Event, digitmap, eventbuffer,
Observedevents; Signals;
21
PackagePackage Package
z Definition: systematic extensibility of defining characteristics that havent been defined in termination
Common Packagesz al (analog line management package)
z cg (call procedure management package)
z dd (DTMF detection package)
z au (audio unit package)
22
TransactionTransaction
Sender Receiver
TransactionRequest
TransactionReply/
TransactionPending
TransactionResponseAck
23
TransactionTransactionTransactionRequest(TransactionId {
ContextID {Command _ Command}, . . .
ContextID {Command _ Command } })
TransactionReply(TransactionID { ContextID { Response _ Response },
. . . ContextID { Response _ Response } })
TransactionPending(TransactionID { } )
Transaction
API
Structure
TransactionResponseAck(TransactionID { } TransactionID{ })
24
CommandsCommands
MGMGC
Add
MGCMGAdd a termination to a context, Create a context when contextID is not specified
25
CommandsCommands
MGC
Add
Modify MGCMGModify the property,event or signal parameters of a terminal
MG
26
CommandsCommands
MGC
Add
Modify
subtract
MGCMGDelete a terminal from a contextDelete the context if there is no more terminals in the context
MG
27
CommandsCommands
MGC
Add
Modify
subtract
Move
MGCMGMove a terminal from one context to another
MG
28
CommandsCommands
MGC
Add
Modify
subtract
Move
AuditValue
MGCMGObtain the current status, event, signal and statistics information of a terminal
MG
29
CommandsCommands
MGC
Add
Modify
subtract
Move
AuditValue
AuditCapability
MGCMGObtain the possible capacity (characteristics, event, signal) of a MG
MG
30
CommandsCommands
MGC
Add
Modify
subtract
Move
AuditValue
AuditCapability
Notify
MGMGCAllows the MG to notify the SS for any event change
MG
31
CommandsCommands
MGC
Add
Modify
subtract
Move
AuditValue
AuditCapability
Notify
ServiceChange
MGCMGor MGMGCMGCMG
Start serviceQuit service
MGMGC Start serviceQuit serviceRegistration
MG
32
TransportTransport
Softswitch
MG
H.248
TCP/UDP
IPH.248
Three-way Handshake
Port 2944: Text-encoded
Port 2945: Binary-encoded
33
TransportTransport
Restart timer of every MG is needed to protected against restart avalanche
Timer should be initiate a random value between 0 and a Maximum waiting delay(MWD)
MGC
MG MG MG MG
ServiceChange
Restart Avalanche
34
Course OutlineCourse Outline
Concept of H.248 Protocol
Components of H.248 Protocol
Call Flow Scenario
35
ScenariosScenarios Gateway Log-in/out Call Setup Call Termination
36
Gateway log in/outGateway log in/out
SSIAD
SVC_CHG_REQ
SVC_CHG_REPLY
MEGACO/1 [10.66.100.12]:2944 Transaction = 9998 {
Context = - {
ServiceChange = ROOT {Services {
Method=Restart,
ServiceChangeAddress=2944, Profile=ResGW/1}
}
}
}
MEGACO/1 [10.66.100.1]:2944
Reply = 9998 {Context = -
{ServiceChange = ROOT {Services
{ServiceChangeAddress=2944, Profile=ResGW/1} } }
}
37
SSIAD
NTFY_REQ
MEGACO/1 [10.66.100.12]:2944
Transaction = 49414
{ Context = -
{
Notify = AG58900 {
ObservedEvents = 2000{
20020403T08131100 : al/of
}
}
}
MEGACO/1 [10.66.100.1]:2944
P=49414{C=-{N=AG58900}}
IAD
Off_hook
NTFY_REPLY
Call SetupCall Setup
38
SSIADMEGACO/1 [10.66.100.12]:2944
Reply = 25218
{
Context = -
{
Modify = AG58900
}
}
IAD
MOD_REQ
MOD_REPLYDial-tone
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 SetupCall Setup
Off_hook
NTFY_REQ
NTFY_REPLY
39
SSIADMEGACO/1 [10.66.100.12]:2944
Transaction = 49415
{
Context = -
{ Notify = AG58900{
ObservedEvents = 2002 {
20020403T08131500 : dd/ce
{ ds = 26778086" , Meth = UM } } } } } MEGACO/1
[10.66.100.1]:2944 Reply=49415{Context=-{Notify= AG58900}}
IAD
NTFY_REPLY
NTFY_REQ
Call SetupCall Setup
Off_hook
NTFY_REQ
NTFY_REPLY
MOD_REQ
Dial-tone MOD_REPLY
Dialing
40
SSIADMEGACO/1 [10.66.100.12]:2944
Reply = 10003 {
Context = 2000 {
Add = AG58900,
Add=RTP/00000{
Media {
Stream = 1 {
Local {
v=0
c=IN IP4 10.66.100.12m=audio 2222 RTP/AVP 0 4a=ptime:30a=recvonly}}}}}}
MEGACO/1 [10.66.100.1]:2944 Transaction = 10003 {Context = $ {Add = AG58900,Add = $ {Media {Stream = 1 {LocalControl {Mode = ReceiveOnly,nt/jit=40 ; in ms},Local {v=0 c=IN IP4 $ m=audio $ RTP/AVP 0 4a=ptime:30}}}}}}
IAD
ADD_REQ
ADD_REPLY
Call SetupCall Setup
Off_hook
NTFY_REQ
NTFY_REPLY
MOD_REQ
MOD_REPLY
NTFY_REQ
NTFY_REPLY
41
SSIAD
MEGACO/1 [10.66.100.1]:2944
Transaction = 50003{Context = $ {Add = AG58901 { Media {Stream = 1 {LocalControl{Mode=SendReceive} }},Events=1234{al/of},Signals {al/ri}},Add = ${Media {Stream =1{LocalControl{Mode=SendReceive,nt/jit=40 ; in ms}, Local {v=0c=IN IP4 $m=audio $ RTP/AVP 0 4 8a=ptime:30},Remote {v=0c=IN IP4 10.66.100.12m=audio 2222 RTP/AVP 0 4a=ptime:30} ;}}}}}
MEGACO/1 [10.66.100.13]:2944 Reply = 50003 {Context = 5000 {Add = AG58901,Add = RTP/00002{Media {Stream = 1 {Local {v=0c=IN IP4 10.66.100.13m=audio 1111 RTP/AVP 0}} ; }}}}
IAD
ADD_REQ
ADD_REPLY
Call SetupCall Setup
Off_hook
NTFY_REQ
NTFY_REPLY
MOD_REQ
MOD_REPLY
NTFY_REQ
NTFY_REPLY
ADD_REQ
ADD_REPLY
ring
42
SSIAD
MEGACO/1 [10.66.100.12]:2944
Reply = 10005
{ Context = 2000
Modify = AG58900
Modify = RTP/00000
}
}
MEGACO/1 [10.41.6.1]:2944 Transaction = 10005 {Context = 2000 {Modify = AG58900 {Signals {cg/rt}},Modify = RTP/00000 {Media {Stream =1 {Remote {v=0c=IN IP4 10.66.100.13m=audio 1111 RTP/AVP 0}} ;}}}}
IAD
MOD_REQ
MOD_REPLYRing_back
Call SetupCall Setup
43
SSIAD
MEGACO/1 [10.66.100.1]:2944 Reply = 50005 {Context = 5000 {Notify = AG58901}}
MEGACO/1 [10.66.100.13]:2944 Transaction = 50005 {Context = 5000 {Notify = AG58901{ObservedEvents =1234 {19990729T22020002:al/of}}}}
IAD
MOD_REPLY
OffhookNTFY_REQ
NTFY_REPLY
Call SetupCall Setup
MOD_REQ
Ring_back
44
SSIAD
MEGACO/1 [10.66.100.1]:2944 Transaction = 10006 {Context = 5000 {Modify = AG58901 {{E=2001{al/on,al/fl},Signals { }}}}
MEGACO/1 [10.66.100.13]:2944 Reply = 10006 {Context = 5000 {Modify = AG58901 }}
IAD
MOD_REPLY
Offhook
NTFY_REPLY
MOD_REQ
MOD_RERLY
Call SetupCall Setup
MOD_REQ
Ring_back
NTFY_REQ
45
SSIAD
MEGACO/1 [10.66.100.12]:2944 Reply = 10006 {Context = 2000 {Modify = AG58900, Modify = RTP/00000}}
MEGACO/1 [10.66.100.1]:2944 Transaction = 10006 {Context = 2000 {Modify = AG58900{ Signals={ } },Modify = RTP/00000{Media {
Stream = 1 {LocalControl {
Mode=SendReceive}}}}}}
IAD
MOD_REPLY
Offhook
NTFY_REPLY
MOD_REQ
MOD_RERLY
MOD_REQ
MOD_REPLY
Conversation Established
Call SetupCall Setup
MOD_REQ
Ring_back
NTFY_REQ
46
SSIAD
MEGACO/1 [10.66.100.1]:2944 Reply = 50008 {Context = 5000{Notify = AG58901}}
MEGACO/1 [10.66.100.13]:2944 Transaction = 50008 {Context = 5000 {Notify = AG58901{ObservedEvents =1235 {19990729T24020002:al/on} } } }
IAD
NTFY_REQ
NTFY_REPLY
Onhook
Call TerminationCall Termination
47
SSIAD
MEGACO/1 [10.66.100.1]:2944 Transaction = 10007 {Context = 2000 {Modify= AG58900{signals { cg/bt }}}}
MEGACO/1 [10.66.100.12]:2944 Reply = 10007 {Context = 5000 {Modify = AG58900 }}
IAD
NTFY_REPLY
Onhook
MOD_REQ
MOD_REPLY
Call TerminationCall Termination
NTFY_REQ
48
SSIAD
MEGACO/1 [10.66.100.1]:2944 Transaction = 50009 {Context = 5000 {Subtract = AG58901{Audit{Statistics}},Subtract = RTP/00002{Audit{Statistics}}}}
MEGACO/1 [10.66.100.13]:2944 Reply = 50009 {Context = 5000 {Subtract = AG58901 {Statistics {nt/os=45123, ; nt/dur=40 ; }},Subtract = RTP/00002{Statistics {rtp/ps=1245,nt/os=62345,rtp/pr=780, nt/or=45123, rtp/pl=0, rtp/jit=27,rtp/delay=48 }}}}
IAD
NTFY_REPLY
SUB_REQ
SUB_REPLY
Onhook
MOD_REQ
MOD_REPLY
Call TerminationCall Termination
NTFY_REQ
49
SSIAD IAD
SUB_REQ
SUB_REPLY
Onhook
NTFY_REPLY
Conversation Terminated
SUB_REQ
SUB_RERLY
MEGACO/1 [10.66.100.1]:2944 Transaction = 50009 {Context = 2000 {Subtract = AG58900{Audit{Statistics}},Subtract = RTP/00000{Audit{Statistics}}}}
MEGACO/1 [10.66.100.12]:2944 Reply = 50009 {Context = 2000 {Subtract = AG58900 {Statistics {nt/os=45123, ; nt/dur=40 ; }},Subtract = RTP/00000 {Statistics {rtp/ps=1245,nt/os=62345,rtp/pr=780, nt/or=45123, rtp/pl=0, rtp/jit=27,rtp/delay=48 }}}}
MOD_REQ
MOD_REPLY
Call TerminationCall Termination
NTFY_REQ
50
SS7 - H.248 SS7 signalingSS7 - H.248 SS7 signaling
Softswitch
TGTG
SG SG
Database ApplicationServer
ZTE
LS1 ZTELS2
3. Analysis & Routing
1. IAM
2. IAM
4. Add
5. Reply of Add
6. Add
7. Reply of Add
8. IAM11. ACM
9. IA
M10
. ACM
14. ACM
13. ACM
12. Modify(Notify)17. Modify
16. ANM
19. ANM
18. ANM
15. A
NM
univ.zte.com.cnuniv.zte.com.cn