Subject: [Megaco] Megaco Request-Response Help

From: "Shantanu Das" <[email-masked]>
Date: Wed, 18 Jan 2006 18:16:43 +0530

Hi,
I am developing an application to track/identify the requests send from MG
to MGC or MGC to MG in Megaco. The difficulty with me is How to identify
which request is for which response. I mean to say that I received a lots of
Request and Response at a time. How I corelate that this response is
received for this Request.

There must be (I hope) a unique Information element(IE) that pass from MG to
MGC in request and same IE with same value comes in Reply from MGC to MG. I
am unable to track this IE. Below I am listing a set of IE that I examined
and some times I find the below IE values are coming in response and some
times not.

TranscationID
ContextID
TerminatinID
Mid

So is there any attribute that soley identify the Request-Response
relationship.

Regards
Shantanu

_______________________________________________
Megaco mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/megaco

---

From: "Kevin Boyle" <[email-masked]>
Date: Thu, 19 Jan 2006 15:09:44 -0500

TransactionID must always be present, unless there is a syntax error
very early in the message.
 
Transactions and Replies are always correlated by TransactionID.
 
Kevin

________________________________

	From: [email-masked] [mailto:[email-masked]]
On Behalf Of Shantanu Das
	Sent: Wednesday, January 18, 2006 7:47 AM
	To: [email-masked]
	Subject: [Megaco] Megaco Request-Response Help

	Hi, 
	I am developing an application to track/identify the requests
send from MG to MGC or MGC to MG in Megaco. The difficulty with me is
How to identify which request is for which response. I mean to say that
I received a lots of Request and Response at a time. How I corelate that
this response is received for this Request.

	There must be (I hope) a unique Information element(IE) that
pass from MG to MGC in request and same IE with same value comes in
Reply from MGC to MG. I am unable to track this IE. Below I am listing a
set of IE that I examined and some times I find the below IE values are
coming in response and some times not.

	TranscationID 
	ContextID 
	TerminatinID 
	Mid 

	So is there any attribute that soley identify the
Request-Response relationship. 

	Regards 
	Shantanu

---

From: "Karthikeyan Sankaran" <[email-masked]>
Date: Thu, 19 Jan 2006 23:24:35 -0800

Hi Shantanu,

I presume that you should use the connection model as specified in the
spec for the call flow. For example, if a call consists of two
terminations, the call can be associated with the context Id and the two
terminations can be connected through this context. So any megaco
message on this context id or the termination has an effect on your call
flow. This is a simple example; any message on the ROOT may affect your
call flow.

So from my point of view: Following are the factors may affect you call
flow:

1.       Transaction Id

2.       Context Id

3.       termination Id [associated with the call]

4.       Any command on ROOT

Context Id remains unique for a single MG-MGC association.

Get back to me if you need further clarifications.

Regards

Karthik

From: [email-masked] [mailto:[email-masked]] On Behalf
Of Shantanu Das
Sent: Friday, January 20, 2006 11:50 AM
To: 'Kumar Saurabh'
Cc: [email-masked]
Subject: RE: [Megaco] Megaco Request-Response Help

Thanks. I too find, the context ID remains same from first addReply to
subtractReply. I have a couple of trace files and by analyzing those I
also draw a conclusion that terminationID also plays a bigger role. But
not sure how far true it is.

contextID also changed when there is a movRequest. with movReply a new
contextID comes which differ from addReply context ID. Then how to
correlate the 2 contextID here.

Another Qs is, is the contextID remains unique. I mean to say that, is
there any possibility that it will be duplicated in another call flow.

BR
-Shantanu
--------------------------------------- 

	From: Kumar Saurabh [mailto:[email-masked]] 
	Sent: Friday, January 20, 2006 11:22 AM
	To: Shantanu Das
	Cc: [email-masked]
	Subject: Re: [Megaco] Megaco Request-Response Help

	You can use the context id returned in the first Add Reply to
identify the call. Pass the same context id in all the subsequent
command req (Modify, Subtract ..) in that call.
	
	-Saurabh
	
	Shantanu Das wrote:

	My question is,  a simple call in Megaco consists of a series of
Transcation Requests and Reply. Trans ID is unique within a Transcation.
For addReq/Reply the transcation id is same but for modReq/Reply the
transcation is different. How can I correlates that this modReq/Reply is
for this addReq/Reply. Bcoz I have to identify a call starting from
addReq to subtractReply. If I don't know the correlation between addReq
-> modReq -> subtractReq, I cann't draw the flow.

	My concern is that, there must be a common Information Element
(IE) that is pass thru in each transcations and unique to a call. Is
anything like this.

	Suggest Pls :)

	BR
	-Shantanu
	--------------------------------------- 

		From: Raphael Tryster
[mailto:[email-masked]] 
		Sent: Friday, January 20, 2006 1:37 AM
		To: Shantanu Das; [email-masked]
		Subject: RE: [Megaco] Megaco Request-Response Help

		The transaction id correlates a reply with a request.
Within a request, you may have multiple actions, each introduced by a
context id, and within each action, there may be multiple commands, each
for one or more terminations.  So you need to use this extra data to
correlate components of the reply with components of the request.  See
some recent emails in this forum about ordering of these components.

		Raphael Tryster

		"Things should be made as simple as possible, but not
any simpler."  - Albert Einstein

			-----Original Message-----
			From: [email-masked]
[mailto:[email-masked]]On Behalf Of Shantanu Das
			Sent: Wednesday, January 18, 2006 2:47 PM
			To: [email-masked]
			Subject: [Megaco] Megaco Request-Response Help

			Hi, 
			I am developing an application to track/identify
the requests send from MG to MGC or MGC to MG in Megaco. The difficulty
with me is How to identify which request is for which response. I mean
to say that I received a lots of Request and Response at a time. How I
corelate that this response is received for this Request.

			There must be (I hope) a unique Information
element(IE) that pass from MG to MGC in request and same IE with same
value comes in Reply from MGC to MG. I am unable to track this IE. Below
I am listing a set of IE that I examined and some times I find the below
IE values are coming in response and some times not.

			TranscationID 
			ContextID 
			TerminatinID 
			Mid 

			So is there any attribute that soley identify
the Request-Response relationship. 

			Regards 
			Shantanu 

		This e-mail contains confidential, privileged or
proprietary information to VocalTec Communications.
		If you received this messege by mistake, please inform
us and then delete the original and all copies.
		*** eSafe scanned this email for viruses, vandals, and
malicious content. ***

---

From: "Kevin Boyle" <[email-masked]>
Date: Fri, 20 Jan 2006 02:36:14 -0500

Comments inline. [KJBII]
 
As I mentioned in my other email and will reiterate here: Calls as you
think of them in telephony are abstracted in H.248 through the use of
contexts and terminations.  There is no such thing as a "call" in H.248.
 
Kevin

	From: [email-masked] [mailto:[email-masked]]
On Behalf Of Karthikeyan Sankaran
	Sent: Friday, January 20, 2006 2:25 AM
	To: Shantanu Das
	Cc: [email-masked]
	Subject: RE: [Megaco] Megaco Request-Response Help

	Hi Shantanu,

	I presume that you should use the connection model as specified
in the spec for the call flow. For example, if a call consists of two
terminations, the call can be associated with the context Id and the two
terminations can be connected through this context. So any megaco
message on this context id or the termination has an effect on your call
flow. This is a simple example; any message on the ROOT may affect your
call flow.
	[KJBII] Commands controlling the Root Termination would not have
any impact on a particular context.   Only commands that act on
terminations within a context will affect that context.

	So from my point of view: Following are the factors may affect
you call flow:

	1.       Transaction Id

	2.       Context Id

	4.       Any command on ROOT

	Context Id remains unique for a single MG-MGC association.
	[KJBII] This is a very confusing and erroneous statement.
ContextIDs can be reused again and again at the whim of the MG. They
only remain unique throughout the lifetime of the context.  Once the
context has been destroyed via the removal of the last termination, the
MG may reuse the ContextID at any time thereafter.

	Regards

	Karthik

	Thanks. I too find, the context ID remains same from first
addReply to subtractReply. I have a couple of trace files and by
analyzing those I also draw a conclusion that terminationID also plays a
bigger role. But not sure how far true it is.

	contextID also changed when there is a movRequest. with movReply
a new contextID comes which differ from addReply context ID. Then how to
correlate the 2 contextID here.

	Another Qs is, is the contextID remains unique. I mean to say
that, is there any possibility that it will be duplicated in another
call flow.

	BR
	-Shantanu

		You can use the context id returned in the first Add
Reply to identify the call. Pass the same context id in all the
subsequent command req (Modify, Subtract ..) in that call.
		
		-Saurabh
		
		Shantanu Das wrote:

		My question is,  a simple call in Megaco consists of a
series of Transcation Requests and Reply. Trans ID is unique within a
Transcation. For addReq/Reply the transcation id is same but for
modReq/Reply the transcation is different. How can I correlates that
this modReq/Reply is for this addReq/Reply. Bcoz I have to identify a
call starting from addReq to subtractReply. If I don't know the
correlation between addReq -> modReq -> subtractReq, I cann't draw the
flow.

		My concern is that, there must be a common Information
Element (IE) that is pass thru in each transcations and unique to a
call. Is anything like this.

		Suggest Pls :)

		BR
		-Shantanu

			From: Raphael Tryster
[mailto:[email-masked]] 
			Sent: Friday, January 20, 2006 1:37 AM
			To: Shantanu Das; [email-masked]
			Subject: RE: [Megaco] Megaco Request-Response
Help

			The transaction id correlates a reply with a
request. Within a request, you may have multiple actions, each
introduced by a context id, and within each action, there may be
multiple commands, each for one or more terminations.  So you need to
use this extra data to correlate components of the reply with components
of the request.  See some recent emails in this forum about ordering of
these components.

			Raphael Tryster

			"Things should be made as simple as possible,
but not any simpler."  - Albert Einstein

				-----Original Message-----
				From: [email-masked]
[mailto:[email-masked]]On Behalf Of Shantanu Das
				Sent: Wednesday, January 18, 2006 2:47
PM
				To: [email-masked]
				Subject: [Megaco] Megaco
Request-Response Help

				Hi, 
				I am developing an application to
track/identify the requests send from MG to MGC or MGC to MG in Megaco.
The difficulty with me is How to identify which request is for which
response. I mean to say that I received a lots of Request and Response
at a time. How I corelate that this response is received for this
Request.

				There must be (I hope) a unique
Information element(IE) that pass from MG to MGC in request and same IE
with same value comes in Reply from MGC to MG. I am unable to track this
IE. Below I am listing a set of IE that I examined and some times I find
the below IE values are coming in response and some times not.

				TranscationID 
				ContextID 
				TerminatinID 
				Mid 

				So is there any attribute that soley
identify the Request-Response relationship. 

				Regards 
				Shantanu 

			This e-mail contains confidential, privileged or
proprietary information to VocalTec Communications.
			If you received this messege by mistake, please
inform us and then delete the original and all copies.
			*** eSafe scanned this email for viruses,
vandals, and malicious content. ***

---

From: "Kevin Boyle" <[email-masked]>
Date: Fri, 20 Jan 2006 10:25:33 -0500

If there are commands against ContextID 1, and the reply comes back
ContextID 2, then there is a problem.  Actions cannot arbitrarily change
ContextID.  Move specifies the move-to context, so it doesn't even
change the ContextID in the action.
 
TransactionID is assigned by the message sender, and only needs to be
unique in the sender->receiver direction for the duration of the
transaction execution, plus the required hold time to account for
retransmissions (the spec suggests LONG-TIMER be 30 seconds).  If the
other party in the control association uses the same TransactionID,
there is no conflict.
 
Kevin

	From: Shantanu Das [mailto:[email-masked]] 
	Sent: Friday, January 20, 2006 4:41 AM
	To: Boyle, Kevin [NCRTP:3Z40:EXCH]; 'Kumar Saurabh'
	Cc: [email-masked]
	Subject: RE: [Megaco] Megaco Request-Response Help

	Kevin,
	As per your note (stated in the last paragraph), tracking the
contexts will be the best solution. But I am wondering, the context ID
too changes in some cases. Like a command issued with context id 1 and
its reply comes in context id 2 but both's Transcation id remains same.
So I think not only the contextID but collectively context id,
transcation id and termination id will uniquely track a context/call.
Its the programmers intelligence how to correlate these 3 IE and track.
	 
	A point
	 
	1. A Transcation ID (say Trans ID =1 ) issued from MGC to MG can
not be duplicated until unless there is a reply with same trans ID.
	    At the same time a Trans ID (Trans ID=1) can not be issued
from MG to MGC with any request (if any new termination added)
	    
	 Is it true. If so who takes care about the allocation of Trans
ID. MGC or MG. How they track it.
	 
	Sorry if i bother you :)

	BR
	-Shantanu

		From: Kevin Boyle [mailto:[email-masked]] 
		Sent: Friday, January 20, 2006 1:00 PM
		To: Shantanu Das; Kumar Saurabh
		Cc: [email-masked]
		Subject: RE: [Megaco] Megaco Request-Response Help

		First, there is no concept of a "call" in H.248. There
are contexts that associate terminations.  These are identified by
ContextIDs and TerminationIDs respectively.  The mostly widely adopted
model that I have seen is to model each half-call as a single context
with a physical termination and an ephemeral termination -- though that
it not the only model, and even within a single MGC there may be several
different call models at any given time.
		 
		If you wish to track an entire "call", then not only
must you track a context and its terminations, you must also track any
other contexts/terminations that are connected to that context via media
connections between the ephemerals.  For some complex calls, such as
large conferences, you may be tracking upwards of 90 terminations across
30+ contexts!!  Note that calls can also span multiple MGs and/or
multiple MGCs.
		 
		The short answer is there is no straightforward way to
track a "call" in H.248.  I suggest you worry about tracking contexts.
Remember that the Move Command moves a termination from one context to
another, necessarily altering that termination's interconnections.
Whether this constitutes a different"call" or not can be debatable, but
it will be difficult to correlate the new context with the old.
		 
		Kevin

			From: [email-masked]
[mailto:[email-masked]] On Behalf Of Shantanu Das
			Sent: Friday, January 20, 2006 1:20 AM
			To: 'Kumar Saurabh'
			Cc: [email-masked]
			Subject: RE: [Megaco] Megaco Request-Response
Help

			Thanks. I too find, the context ID remains same
from first addReply to subtractReply. I have a couple of trace files and
by analyzing those I also draw a conclusion that terminationID also
plays a bigger role. But not sure how far true it is.
			 
			contextID also changed when there is a
movRequest. with movReply a new contextID comes which differ from
addReply context ID. Then how to correlate the 2 contextID here.
			 
			Another Qs is, is the contextID remains unique.
I mean to say that, is there any possibility that it will be duplicated
in another call flow.

			BR
			-Shantanu

				From: Kumar Saurabh
[mailto:[email-masked]] 
				Sent: Friday, January 20, 2006 11:22 AM
				To: Shantanu Das
				Cc: [email-masked]
				Subject: Re: [Megaco] Megaco
Request-Response Help

				You can use the context id returned in
the first Add Reply to identify the call. Pass the same context id in
all the subsequent command req (Modify, Subtract ..) in that call.
				
				-Saurabh
				
				Shantanu Das wrote:

				My question is,  a simple call in Megaco
consists of a series of Transcation Requests and Reply. Trans ID is
unique within a Transcation. For addReq/Reply the transcation id is same
but for modReq/Reply the transcation is different. How can I correlates
that this modReq/Reply is for this addReq/Reply. Bcoz I have to identify
a call starting from addReq to subtractReply. If I don't know the
correlation between addReq -> modReq -> subtractReq, I cann't draw the
flow.
				 
				My concern is that, there must be a
common Information Element (IE) that is pass thru in each transcations
and unique to a call. Is anything like this.
				 
				Suggest Pls :)

				BR
				-Shantanu

				From: Raphael Tryster
[mailto:[email-masked]] 
				Sent: Friday, January 20, 2006 1:37 AM
				To: Shantanu Das; [email-masked]
				Subject: RE: [Megaco] Megaco
Request-Response Help

				The transaction id correlates a reply
with a request. Within a request, you may have multiple actions, each
introduced by a context id, and within each action, there may be
multiple commands, each for one or more terminations.  So you need to
use this extra data to correlate components of the reply with components
of the request.  See some recent emails in this forum about ordering of
these components.

				Raphael Tryster

				"Things should be made as simple as
possible, but not any simpler."  - Albert Einstein

				-----Original Message-----

				Hi, 

				TranscationID 
				ContextID 
				TerminatinID 
				Mid 

				Regards 
				Shantanu 

				This e-mail contains confidential,
privileged or proprietary information to VocalTec Communications.
				If you received this messege by mistake,
please inform us and then delete the original and all copies.
				*** eSafe scanned this email for
viruses, vandals, and malicious content. *** 
________________________________

---

From: "Shantanu Das" <[email-masked]>
Date: Fri, 20 Jan 2006 10:25:55 +0530

Hi Manish,
I agree with your view. The transcation ID remains same for each transcation
and reply. If we send a addReq with Trans ID 1, we will get addReply with
Trans ID 1. Its true.
 
But my question is a little bit different. Below is a simple call flow
 
                        MGC
MG
    Step 1        addReq(Trans ID:1)-------------------------------->
 
<-----------------------------------------------------addReply(Trans ID: 1)
 
     Step 2      modReq(Trans ID:2)----------------------------->
 
<----------------------------------------------------ModReq(Trans ID: 2)
 
      Step 3     subtractReq(Trans ID:3)--------------------------->
 
<-----------------------------------------------------subtractReply(Trans ID
3)

At a point MGC generates thousands of addReq, ModReq and SubtractReq. How
the MGC keeps the track, that , this SubtractRequest is for this addRequest
and likewise this  modReq is for this addReq. What is the common IE that is
shared in each step to memorize the relationship from one request to another
request.
 
I hope you understand my question :)

BR

Shantanu

  _____  

From: Manish Bhagwanani [mailto:[email-masked]] 
Sent: Friday, January 20, 2006 1:36 AM
To: [email-masked]
Subject: Re: [Megaco] Megaco Request-Response Help

It is through the transaction id. A unique request (transaction) from one
megaco entity  will have a unique transaction id. The response to that
request will also have the same transaction id. Both entities maintain their
own transaction ids so you could see 1 request with trans id 1 from the mgc
and a different request with trans id 1 from the mg, but the responses for
those are correlated through the transaction id.

  _____  

From: [email-masked] [mailto:[email-masked]] On Behalf Of
Shantanu Das
Sent: Wednesday, January 18, 2006 6:47 AM
To: [email-masked]
Subject: [Megaco] Megaco Request-Response Help

Hi, 

TranscationID 
ContextID 
TerminatinID 
Mid 

Regards 
Shantanu