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

}

}