# OpenH323 gatekeeper status message format

This is the suggested format for the messages that the gatekeeper sends to its status port when a RAS message has been handled. The messages are described in a BNR type style.

Note that this is a first attempt to define the necessary information - hence all kinds of input is welcome - changes will no doubt occur in the near future.

Message ::= GCFMsg | GRJMsg | RCFMsg | RRJMsg | UCFMsg | URJMsg | ACFMsg | ARJMsg | BCFMsg | BRJMsg | LCFMsg | LRJMsg | DCFMsg | DRJMsg | ICFMsg | IRRMsg | IACKMsg | INAKMsg | CallStartMsg | CallEndMsg | AllRegistrationsMsg | CurrentCallsMsg terminator

GCFMsg ::= "GCF" sep ipAddress sep aliasList sep endpointTypeList

GRJMsg ::= "GRJ" sep ipAddress sep aliasList sep endpointTypeList sep rejectReason

RCFMsg ::= "RCF" sep ipAddress sep aliasList sep endpointTypeList sep endpointIdentifier

RRJMsg ::= "RRJ" sep ipAddress sep aliasList sep endpointTypeList sep rejectReason

UCFMsg ::= "UCF" sep ipAddress sep endpointIdentifier

URJMsg ::= "URJ" sep ipAddress sep endpointIdentifier sep rejectReason

ACFMsg ::= "ACF" sep ipAddress sep endpointIdentifier sep callReferenceValue sep destinationInfo sep sourceinfo

ARJMsg ::= "ARJ" sep ipAddress sep endpointIdentifier sep destinationInfo sep sourceInfo sep answerCall sep rejectReason

BCFMsg ::= "BCF" sep ipAddress sep endpointIdentifier sep bandwidth

BRJMsg ::= "BRJ" sep ipAddress sep endpointIdentifier sep allowedBandWidth sep rejectReason

LCFMsg ::= "LCF" sep ipAddress sep endpointIdentifier sep destinationInfo sep sourceInfo

LRJMsg ::= "LRJ" sep ipAddress sep destinationInfo sep sourceInfo sep rejectReason

DCFMsg ::= "DCF" sep ipAddress sep endpointIdentifier sep callReferenceValue sep disengageReason

DRJMsg ::= "DRJ" sep ipAddress sep endpointIdentifier sep callReferenceValue sep rejectReason

ICFMsg ::= "ICF" sep ipAddress

IRRMsg ::= "IRR" sep ipAddress

IACKMsg ::= "IACK" sep ipAddress

INAKMsg ::= "INAK" sep ipAddress

CallStartMsg ::= "CALLStart" sep callingEPId sep calledEPId sep conferenceID sep callReferenceValue sep destinationInfo sep sourceinfo sep startTime sep bandwidth sep

CallEndMsg ::= "CallEnd" sep conferenceID sep callReferenceValue

AllRegistrationsMsg ::= "AllRegistrations" \n { RCFMsg \n }

CurrentCallsMsg ::= "CurrentCalls" \n { CallStartMsg \n }

ipAddress ::= dotted decimal format
aliasList ::= alias {sep2 alias}
alias ::= string [ ":" aliasType ]
aliasType ::= "h323_ID" | "e164" | something else that I don't know now
endpointTypeList ::= endpointType { listSep endpointType }
endpointType ::= "vendor" | "gatekeeper" | "gateway" | "mcu" | "terminal"
answerCall ::= "true" | "false" sep ::= "|"
sep2 ::= "="
listSep ::= ","
terminator ::= ";\n"
.
.
.
and so on

here the H.225 elements are written as strings - so I don't want to go into unnecessary detail here

The reason why I used "sep" instead of "|" is that I would confuse myself using "|" as a literal in a BNR syntax.