Megaco Call Flow for Call Waiting Service:
Call Scenario:
Call has been originated from the TermA of MG1 to TermB of MG2. When TermA and TermB are in a call . Further TermC calls TermB and TermB gets a Call Waiting Tone . Now TermB does a Hook Flash and begins Talking with TermC , placing TermA on hold.
Context Diagram before Move :-Context Diagram After Move:
Call Steps:
Step 1:
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1001 {
Context = - {
Modify = TermA {
Media {
LocalControl {
Mode = Receiveonly}
},
Events = 5001 {al/of}
}
}
}
Step 2:
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1002 {
Context = - {
Modify = TermC {
Media {
LocalControl {
Mode = Receiveonly}
},
Events = 5002 {al/of}
}
}
}
Step 3:
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1001 {
Context = - {Modify = TermA}
}
Step 4 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1002 {
Context = - {Modify = TermC}
}
Step 5 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Transaction = 3001 {
Context = - {
Notify = TermA {ObservedEvents =5001 {
20010202T10000000:al/of}}
}
Step 6 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Reply = 3001 {
Context = - {Notify = TermA}
}
Step 7 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1003{
Context = - {
Modify = TermA {
Signals {cg/dt},
DigitMap= Dmap1 {(2XXX)}
Events = 5003 {
al/on, dd/ce {DigitMap=Dmap1}
},
}
}
}
Step 8 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1003 {
Context = - {Modify = TermA}
}
Step 9 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Transaction = 3002 {
Context = - {
Notify = TermA {ObservedEvents =5003 {
20010202T10010000:dd/ce {ds="2992", Meth=UM}}}
}
}
Step 10 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Reply = 3002 {
Context = - {Notify = TermA}
}
Step 11 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1004 {
Context = $ {
Add = TermA {
}
Add = $ {
Media {
{
LocalControl {
Mode = Receiveonly,
},
Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4
}
}
}
}
}
Step 12 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1004 {
Context = 1 {
Add = TermA,
Add=EphA{
Media {{
LocalControl {Mode = Receiveonly} },
Local {
v=0
c=IN IP4 209.110.59.33
m=audio 30000 RTP/AVP 4
}
}
}
}
}
}
Step 13 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]:27000
Transaction = 2001 {
Context = $ {
Add = TermB { Media {
LocalControl {Mode = Receiveonly} },
Signals {al/ri}
Events =5004{al/of { Embed {events = 5005 {al/on , al/fl}}}},
},
Add = $ {Media {
LocalControl {
Mode = Receiveonly,
},
Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4
},
Remote {
v=0
c=IN IP4 209.110.59.33
m=audio 30000 RTP/AVP 4
}
}
}
}
}
}
Step 14 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2001 {
Context = 2 {
Add = TermB,
Add = EphB{
Media {
Local {
v=0
c=IN IP4 207.176.47.90
m=audio 40000 RTP/AVP 4
}
}
}
}
}
Step 15:
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1005 {
Context = 1 {
Modify = TermA {
Signals {cg/rt } }
}
}
Step 16 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1005 {
Context = 1 {Modify = TermA}
}
Step 17 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Transaction = 4001 {
Context = 2 {
Notify = TermB {ObservedEvents =5004 {
20000202T10020000:al/of}}
}
}
Step 18 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Reply = 4001 {
Context = 2 {Notify = TermB}
}
Step 19 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1006 {
Context = 1 {
Modify = TermA {
Media {
LocalControl {
Mode = sendrecv}
}
}
Signals { }
},
Modify = EphA {
Media {
LocalControl {
Mode = sendrecv}
Remote {
v=0
c=IN IP4 207.176.47.90
m=audio 40000 RTP/AVP 4
}
}
}
}
}
}
Step 20 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1006 {
Context = 1 {Modify = TermA, Modify = EphA}
}
Step 21 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2002 {
Context = 2 {
Modify = TermB {
Media {
LocalControl {
Mode = SendRecv,
}
}
}
Modify = EphB{
Media {
LocalControl {
Mode = SendRecv,
}
}
}
}
Step 22 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2002 {
Context = 2 {Modify = TermB , Modify = EphB}
}
Step 23 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Transaction = 3003 {
Context = - {
Notify = TermC {ObservedEvents =5002 {
20010202T10000000:al/of}}
}
Step 24 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Reply = 3003 {
Context = - {Notify = TermC}
}
Step 25 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1007 {
Context = - {
Modify = TermC {
Signals {cg/dt},
DigitMap= Dmap1 {(2XXX)}
Events = 5006 {
al/on, dd/ce {DigitMap=Dmap1}
},
}
}
}
Step 26 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1007 {
Context = - {Modify = TermC}
}
Step 27 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Transaction = 3004 {
Context = - {
Notify = TermC {ObservedEvents =5006 {
20010202T10010000:dd/ce {ds="2992", Meth=UM}}}
}
}
Step 28 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Reply = 3004 {
Context = - {Notify = TermC}
}
Step 29 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1008 {
Context = $ {
Add = TermC ,
Add = $ {
Media {
{
LocalControl {
Mode = Receiveonly,
},
Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4
}
}
}
}
}
Step 30 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1008 {
Context = 3 {
Add = TermC { },
Add=EphC{
Media {{
LocalControl {Mode = Receiveonly} },
Local {
v=0
c=IN IP4 209.110.59.33
m=audio 31000 RTP/AVP 4
}
}
}
}
}
}
Step 31 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]:27000
Transaction = 2003 {
Context = $ {
Add = $ {Media {
LocalControl {
Mode = Receiveonly,
},
Local {
v=0
c=IN IP4 $
m=audio $ RTP/AVP 4
},
Remote {
v=0
c=IN IP4 209.110.59.33
m=audio 31000 RTP/AVP 4
}
}
}
}
}
Step 32 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2003 {
Context = 4 {
Add = EphD{
Media {
Local {
v=0
c=IN IP4 207.176.47.90
m=audio 41000 RTP/AVP 4
}
}
}
}
Step 33 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]:27000
Transaction = 2004 {
Context = 2{
Modify = TermB {
Signals {cg/cw}
}
}
}
Step 34 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2004 {
Context = 2 {Modify = TermB}
}
Step 35 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1009 {
Context = 3 {
Modify = TermC {
Signals {cg/rt } }
}
}
Step 36 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1009 {
Context = 3 {Modify = TermC}
}
Step 37 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Transaction = 4002 {
Context = 2 {
Notify = TermB {ObservedEvents =5005 {
20000202T10020000:al/fl}}
}
}
Step 38 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Reply = 4002 {
Context = 2 {Notify = TermB}
}
Step 39 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2005 {
Context = 2 {
Modify = EphB{
Media {
LocalControl {
Mode = Recvonly
}
}
}
Step 40:
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2005 {
Context = 2 { Modify = EphB}
}
Step 41:
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1010 {
Context = 1 {
Modify = EphA {
Media {
LocalControl {
Mode = Recvonly}
},
}
}
}
Step 42 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1010 {
Context = 1 {Modify = EphA}
}
Step 43 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2006 {
Context = 4 {
Move = TermB
}
}
Step 44 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2006 {
Context = 4 {Move = TermB}
}
Step 45 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2007 {
Context = 4 {
Modify = TermB {
Media {
LocalControl {
Mode = SendRecv,
}
}
}
Modify = EphD{
Media {
LocalControl {
Mode = SendRecv,
}
}
}
}
Step 46 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2007 {
Context = 4 {Modify = TermB , Modify = EphD}
}
Step 47 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1011 {
Context = 3 {
Modify = TermC {
Signals{},
Media {
LocalControl {
Mode = sendrecv}
}
}
},
Modify = EphC {
Media {
LocalControl {
Mode = sendrecv}
Remote {
v=0
c=IN IP4 207.176.47.90
m=audio 41000 RTP/AVP 4
}
}
}
}
}
}
Step 48 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1011 {
Context = 3 {Modify = TermC, Modify = EphC}
}
Step 49 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Transaction = 4003 {
Context = 4{
Notify = TermB {ObservedEvents =5005 {
20000202T10020000:al/fl}}
}
}
Step 50 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Reply = 4003 {
Context = 4 {Notify = TermB}
}
Step 51 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2008 {
Context = 4{
Modify = EphD{
Media {
LocalControl {
Mode = Recvonly
}
}
}
Step 52 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2008 {
Context = 4 { Modify = EphD}
}
Step 53 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1012 {
Context = 3 {
Modify = EphC {
Media {
LocalControl {
Mode = Recvonly}
},
}
}
}
Step 54 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1012 {
Context = 3 {Modify = EphC}
}
Step 55 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2009 {
Context = 2 {
Move = TermB
}
}
Step 56 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2009 {
Context = 2 {Move = TermB}
}
Step 57 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2010{
Context = 2 {
Modify = TermB {
Media {
LocalControl {
Mode = SendRecv,
}
}
}
Modify = EphB{
Media {
LocalControl {
Mode = SendRecv,
}
}
}
}
Step 58 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2010 {
Context = 2 {Modify = TermB , Modify = EphB}
}
Step 59 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1013{
Context = 1 {
Modify = EphA {
Media {
LocalControl {
Mode = sendrecv}
}
}
}
}
}
Step 60 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]: 25000
Reply = 1013 {
Context = 1 { Modify = EphA}
}
Step 61 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]:25000
Transaction = 3005 {
Context = 1 {
Notify = TermA {ObservedEvents =5003 {
20010202T10030000:al/on}
}
}
Step 62 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]:25000
Transaction = 3006 {
Context = 3 {
Notify = TermC {ObservedEvents =5006{
20010202T10030000:al/on}
}
}
Step 63 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Transaction = 4004 {
Context = 2 {
Notify = TermB {ObservedEvents =5005{
20010202T10030000:al/on}
}
}
Step 64 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]:27000
Reply = 3005 {
Context = 1 {
Notify = TermA
}
}
Step 65 :
MGC to RGW1:
MEGACO/1 [216.33.33.61]:27000
Reply = 3006 {
Context = 3 {
Notify = TermC
}
}
Step 66 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Reply = 4004 {
Context = 2 {
Notify = TermB
}
}
Step 67 :
MGC to RGW1
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1014 {
Context = 1 {
Subtract = TermA {Audit{ }},
Subtract = EphA {Audit{ }}
}
}
Step 68 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]:25000
Reply = 1014 {
Context = 1 {
Subtract = TermA
Subtract = EphA
}
}
Step 69 :
MGC to RGW1
MEGACO/1 [216.33.33.61]: 27000
Transaction = 1015 {
Context = 3 {
Subtract = TermC {Audit{ }},
Subtract = EphC {Audit{ }}
}
}
Step 70 :
RGW1 to MGC:
MEGACO/1 [209.110.59.34]:25000
Reply = 1015 {
Context = 3 {
Subtract = TermC
Subtract = EphC
}
}
Step 71 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2011 {
Context = 4{
Subtract = EphD {Audit{ }}
}
}
Step 72 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2011 {
Context = 4 {
Subtract = EphD
}
}
Step 73 :
MGC to RGW2:
MEGACO/1 [216.33.33.61]: 27000
Transaction = 2012 {
Context = 2 {
Subtract = TermB {Audit{ }},
Subtract = EphB {Audit{ }}
}
}
Step 74 :
RGW2 to MGC:
MEGACO/1 [207.176.47.89]: 26000
Reply = 2012 {
Context = 2 {
Subtract = TermB,
Subtract = EphB
}
}