VoIP Signaling Protocols
Now that you’re familiar with the VoIP essentials we can move on to VoIP protocols which are detailed in today’s article. Next time we’ll cover the VoIP Architecture, how to prepare your network for VoIP and how to activate VoIP which will get you to a good start with VoIP.
Today I will introduce you to the VoIP Signaling Protocols. I will also take this opportunity to present the most important commands of each VoIP Signaling protocol.
By the time you finish reading this article you will realize that you have amazingly acquired a useful reference-leaflet to carry with you on-the-job. You will be surprised at how often you will find yourself searching for this little piece of information; trust me, I speak from experience.
VoIP signaling protocols are divided into two categories:
- Session Control Protocols
- Media Control Protocols
Session Control Protocols are responsible for the establishment, preservation and tearing down of call sessions. They are also responsible for the negotiation of session parameters such as codecs, tones, bandwidth capabilities, etc.
The main Session Control Protocols in the IP network are H.323 and SIP. I’ve covered both of the protocols in detail in my previous articles, so if you’re interested in learning more about them you can check them out here:
Media Control Protocols are responsible for the creation and tearing down of media connections. They are used to open and close media pin-holes on VoIP gateways and to process notifications coming from those gateways. The Media Gateways are the VoIP components that transport media between the IP and PSTN networks. They are controlled by an entity that is called Media Gateway Controller. The latter uses a Media Control Protocol to control Media flows on the Gateway. The two main Media Control Protocols are MGCP and Megaco (H.248).
Let’s examine these protocols one-by-one by presenting the main commands/characteristics of each one. The following diagram presents a layered representation of both Session and Media Control Protocols.
The H.323 protocol consists of the following important commands/messages:
H.225 – Registration Admission Status:
- RegistrationRequest(RRQ), RegistrationConfirm (RCF), RegistrationReject(RRJ)
- AdmissionRequest (ARQ), AdmissionConfirm (ACF), AdmissionReject (ARJ)
- Status InfoRequest (IRQ), status InfoReject (IRJ), InfoACK (IACK), Info (INAK)
- BandwidthRequest (BRQ), BandwidthConfirm (BCF), BandwidthReject (BRJ)
H.225 – Call Control:
- Setup signal
- Alerting Called user
- Release Complete sent by terminal
H.245 – Procedure:
- Exchange Terminal Capability set regarding multimedia streams
- Master-Slave Determination between terminals
- Open, Close Logical Channel for audio video between endpoints
- End Session Command
• SIP (Session Initiation Protocol)
The Session Initiation Protocol consists of the following main entities:
- User Agent Client (UAC): Caller application that initiates and sends SIP requests.
- User Agent Server (UAS): Receives and responds to SIP requests: accepts, redirects, or refuses calls.
- Proxy Server: Contacts one or more clients or next-hop servers and passes the call requests further. It contains UAC and UAS.
- Redirect Server: Does not initiate SIP requests or accept calls. Accepts SIP requests, maps the address into new addresses and returns those addresses to the client.
The main message Methods of SIP are:
- INVITE: User or service is invited to participate in a session.
- ACK: Client has received a final response to an INVITE request.
- OPTIONS: Server being queried about capabilities.
- REGISTER: Client registers address with a SIP server.
- BYE: User Agent Client indicates to server to release the call.
Media Control Protocols
• MGCP (Media Gateway Control Protocol)
The Media Gateway Control Protocol consists of the following major commands. The direction of the flow is also indicated by the arrows:
- CRCX: MGC —-> MG: Create Connection between endpoints. Uses SDP for defining capabilities.
- MDCX: MGC —-> MG: Modify Connection characteristics when needed.
- DLCX: MGC MG: Delete Connection message can be originated from gateway if line is dropped.
- EPCF: MGC —-> MG: Endpoint Configuration such as A-Law or u-Law encoding at the DS0 side.
- RQNT: MGC —-> MG: Request Notification to notify occurrence of specific events.
- NTFY: MGC <—- MG: Notify Informs the Media Gateway Controller when observed events occur such as Fax or Modem Tones.
- AUCX: MGC —-> MG: Audit Endpoint command to determine the status of the endpoint.
- AUCX: MGC —-> MG: Audit Connection command retrieves parameters related to a connection.
- RSIP: MGC <—- MG: Restart In Progress command signals that an endpoint is taken out of service.
• MEGACO (H.248)
The MEdia GAteway COntrol protocol uses context Id’s to distinguish termination points. It consists of the following important commands along with the flow direction:
- Add: MGC —-> MG: The add command adds a termination point to a context.
- Subtract: MGC —-> MG: The subtract command is used to remove a termination from a context.
- Modify: MGC —-> MG: The modify command is used to change the property values, issue signals, or report specific events to termination points.
- Move: MGC —-> MG: The move command is used to move a terminating from one context to another.
- AuditValue: MGC —-> MG: The AuditValue command is used to obtain current values for properties, events and signals associated with terminations.
- AuditCapabilities: MGC —-> MG: The AuditCapabilities command is used to obtain all possible values for properties, events and signals associated with terminations.
- Notify: MGC <—- MG: The Notify command is used to inform the MGC about events that occurred within the MG.
- ServiceChange: MGC <—- MG: The ServiceChange command is used to inform the MGC that a group of terminations are taken out of service.
- ServiceChange: MGC —-> MG: When the group of terminations previously taken out of service, return back into service, the MGC sends this command to inform the MG to resume services.
How To Use This Information
My advice to you upon finishing reading this article is to take some time to create a book-fold containing the commands for each protocol as presented above and keep it in a safe place next to your daily work place. It will come in handy some day.