Subject: [Megaco] Queries about hairpinning scenario.

From: "Noh Jeong Min" <[email-masked]>
Date: Wed, 6 Nov 2002 13:11:56 +0900

Hello megaco list. I have some queries about hairpinning scenario.

1. I understood that hairpin connection is between subscribers connected to the same MG.
2. Ephemeral termination could be replace by physical termination in the hairpinning scenario.

So, I have written a hairpinning scenario. I need your comments on my scenario.

------------------------------------------------------------------------------------
MGC's IP address is 123.123.123.4.
MG's IP address is 124.124.124.222.
MG is a residental gateway and it has a two terminations(A4444,A5555)

Hairpinning scerario.

   PART I) CALL SETUP

   Step 1 : The MGC sends Modify to MG1. 
   MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Transaction = 10000 { 
       Context = - { 
           Modify = A4444 { 
               Media { Stream = 1 {  
                        LocalControl { 
                            Mode = SendReceive,  
                            tdmc/gain=2,  ; in dB,  
                            tdmc/ec=on 
                        },                      
                    } 
               }, 
               Events = 2222 {al/of(strict=state)}          
           } 
       } 
   }   

   Step 2 : The MG1 accepts the Modify with this reply. 
   MG1 to MGC: 
   MEGACO/1 [124.124.124.222]:55555 
   Reply = 10000 { 
      Context = - {Modify = A4444} 
   } 

   Step 3 : MG1 detects an offhook event from User 1 and reports it to the 
   Media Gateway Controller via the Notify Command. 
   MG1 to MGC: 
   MEGACO/1 [124.124.124.222]:55555 
   Transaction = 10001 { 
      Context = - { 
          Notify = A4444 {ObservedEvents =2222 { 
            19990729T22000000:al/of(init=false)}} 
      }  
   } 

   Step 4 : And the Notify is acknowledged. 
   MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Reply = 10001 { 
       Context = - {Notify = A4444} 
   } 

   Step 5 : The MGC Modifies the termination to play dial tone, to look for 
   digits according to Dialplan0 and to look for the on-hook event now.  
   MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Transaction = 10002 { 
       Context = - { 
           Modify = A4444 { 
               Events = 2223 { 
                   al/on(strict=state), dd/ce {DigitMap=Dialplan0}            
               }, 
               Signals {cg/dt},  
               DigitMap= Dialplan0{ 
   (0| 00|[1-7]xxx|8xxxxxxx|Fxxxxxxx|Exx|91xxxxxxxxxx|9011x.)}    
           } 
       } 
   }  

   Step 6 :  And the Modify is acknowledged. 
   MG1 to MGC: 
   MEGACO/1 [124.124.124.222]:55555 
   Reply = 10002 { 
       Context = - {Modify = A4444} 
   } 

   Step 7) MG1 to MGC: 
   MEGACO/1 [124.124.124.222]:55555 
   Transaction = 10003 { 
      Context = - { 
          Notify = A4444 {ObservedEvents =2223 { 
            19990729T22010001:dd/ce{ds="916135551212",Meth=UM}}} 
      }  
   } 

   Step 8) MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Reply = 10003 { 
       Context = - {Notify = A4444} 
   } 

   Step 9) MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Transaction = 10004{ 
        Context = ${ 
                Add = A5555{ 
                        Media{ Stream = 1{ LocalControl {Mode = SendReceive} }}, 
                        Events=1234{al/of(strict=state)},  
                        Signals{al/ri} ; to turn on the ringing.
                },
                Add = A4444{ 
                        Signals {cg/rt} ;to turn on the ringback tone.
                }
       } 
   }   

   Step 10) MG1 -> MGC: 
   MEGACO/1 [124.124.124.222]:55555 
   Reply = 10004 { 
      Context = 2000 {Add = A5555, Add = A4444} 
   } 

   Step 11) From MG1 to MGC: 
   MEGACO/1 [125.125.125.222]:55555 
   Transaction = 10005 { 
      Context = 2000 { 
          Notify = A5555 {ObservedEvents =1234 { 
            19990729T22020002:al/of(init=false)}} 
      }  
   } 

   Step 12) From MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Reply = 10005 { 
       Context = 2000 {Notify = A5555} 
   }     

   Step 13) From MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Transaction = 10006 { 
      Context = 2000 { 
         Modify = A4444 { 
            Signals { } ; to turn off ringback tone
         }, 
         Modify = A5555 { 
            Events = 1235 {al/on(strict=state)}, 
            Signals { } ; to turn off ringing  
         } 
      } 
   } 

   Step 14) From MG1 to MGC: 
   MEGACO/1 [125.125.125.222]:55555 
   Reply = 10006 { 
    Context = 2000 {Modify = A4444, Modify = A5555} 
   }

   PART II) CALL RELEASE

   Step 15) From MG1 to MGC: 
   MEGACO/1 [125.125.125.222]:55555 
   Transaction = 10007 { 
      Context = 2000 { 
          Notify = A5555 {ObservedEvents =1235 { 
             19990729T24020002:al/on(init=false)} 
          } 
      }  
   } 

   Step 16) From MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Reply = 10007 {
       Context = 2000 {Notify = A5555} 
   }

   Step 17) MGC to MG1:
   MEGACO/1 [123.123.123.4]:55555 
   Transaction = 10008 { 
      Context = 2000 { 
         Modify = A4444 { Signals { cg/wt } }, 
         Subtract = A5555 {Audit{Statistics}}
      } 
   } 

   Step 18) From MG1 to MGC: 
   MEGACO/1 [125.125.125.222]:55555 
   Reply = 10008 { 
      Context = 2000 {
         Modify = A4444, 
         Subtract = A5555 { 
             Statistics {  
                nt/os=45123, ; Octets Sent
                nt/or=45123, ; Octets Receive 
                nt/dur=40 ; in seconds 
                } 
          }
      } 
   } 

   Step 19) From MG1 to MGC: 
   MEGACO/1 [125.125.125.222]:55555 
   Transaction = 10009 { 
      Context = 2000 { 
          Notify = A4444 {ObservedEvents =2223 { 
             19990729T24020002:al/on(init=false)} 
          } 
      }  
   } 

   Step 20) From MGC to MG1: 
   MEGACO/1 [123.123.123.4]:55555 
   Reply = 10009 {
       Context = 2000 {Notify = A4444} 
   }

   Step 21) MGC to MG1:
   MEGACO/1 [123.123.123.4]:55555 
   Transaction = 10010 { 
      Context = 2000 { 
         Modify = A4444 { Signals {} }, 
         Subtract = A4444 {Audit{Statistics}}
      } 
   } 

   Step 22) From MG1 to MGC: 
   MEGACO/1 [125.125.125.222]:55555 
   Reply = 10010 { 
      Context = 2000 {
         Modify = A4444, 
         Subtract = A4444 { 
             Statistics {  
                nt/os=45123, ; Octets Sent
                nt/or=45123, ; Octets Receive 
                nt/dur=40 ; in seconds 
                } 
          }
      } 
   } 

Noh Jeong Min.
IMT System Development Group.
MERCURY Corporation. Ltd.
Tel : +82 031 310 5714, +82 031 310 5718
Email : [email-masked]