Subject: Errors in received messages and Notified Entity

From: Arun Kumar S <[email-masked]>
Date: Wed, 15 Dec 1999 10:54:27 +0530

Hi,

        I had a question about the action to be taken in the Gateway when
        an incorrect MGCP message is received at the Gateway.

        An incorrect message is one which contains syntactical errors like
        mandatory parameter missing, etc. The question I had was what
        is the action expected from the Gateway when it receives this
        message?? Is it supposed to ignore it?
        I am not aware of any means the protocol provides to indicate the
        error to the sender of the erroneous message?

        The other question I had was with regard to the Notified Entity. As
        a rule all responses should be directed to the originator of the command
        to which the GW is sending the response and all new commands that the
        GW is originating will be sent to the current notified entity.
        Now let us say that the GW receives a command which contains a new
        Notified Entity. The GW during the processing of the command decides
        that it needs to send a piggy-back'd message (response to the just
        received command and a new command). The question is where should
        the GW send the piggy-back'd message?? There is a contradiction that
        the command should be sent to the new notified entity and the response
        to the originator of the actual command in the same packet. This is not
        possible if the notified entity and the entity originating the command is
        different. How do I resolve this?

Regards,
Arun.S

---

From: Pierre Couillaud <[email-masked]>
Date: Fri, 17 Dec 1999 09:02:10 -0500

Arun,

Please see comments below.... I tried to answer your question....

Regards,

Pierre

>         error to the sender of the erroneous message?

I believe it all depends of the type of error you have detected. What I mean by that

is that it depends of your level of knowledge you can get from the erroneous message

received.
Let's talk about a command first. If you receive an erroneous command, you most
likely need at least the transaction identifier and the source IP of the message
you've
received. Based on that, you should be able to send a response back for this
particular
command with a correct error code set ( as described in section 2.4 of the MGCP RFC
)
within the 500-599 range ( if you cannot be specific about the error detected, a
return
code of 510 I believe is very generic ). If you cannot get at least this, you can
just stay
silent and ignore the message hoping that a retransmission will bring you more info.

For a response, you can always make use of the MGCP-K parameter into your next
command sent to the MGC ( if your notified entity didn't change on you... but if it
did,
meaning it was present into the errroneous command but you couldn't get it, then
this won't help...) to specify that you are missing an acknowledgement in a given
range
( for example if the response was with a transaction id of 100 you can omit this
value in
your MGCP-K parameter.... )
Again, you need at least a minimum of info in order to be able to do that... If you
don't
get the minimal info needed, you don't have any other choice but to ignore the
message...

>         different. How do I resolve this?

The notified entity is used by the gateway in response to a RQNT basically
( it can be an embedded request with a CRCX/MDCX/DLCX as well ), but the basic
idea is that this is where you must notify what you've seen. So basically, and as
mentionned
in the RFC, the notify entity is used by the GW when sending a NTFY command or
a DLCX command....
So, to answer your scenario, I believe that in your case, the notified entity
received
will apply to the next command from the endpoint/gateway only ( depending on who was
the
destinator of the command ). I.e. you cannot piggyback these two messages, you have
to send
the response message to your originator and eventually
your next command to the new entity specified in the notified entity received.

--

Pierre Couillaud, Nortel Networks
Software Designer - Voice Networking      Phone : (613) 967 5000 x3696
"Anything one man can imagine, other men can make real."
                                                                  Jules Verne