'VoIP'에 해당되는 글 2

  1. 2010.09.02 [VoIP] Voice Over IP
  2. 2009.08.27 [펌] 신시장 VoIP 서비스를 보호하라

[VoIP] Voice Over IP

2010. 9. 2. 17:54 | Posted by 꿈꾸는코난

Voice Over IP

 
The following VoIP protocols are described here:
   
Megaco H.248 Gateway Control Protocol
MGCP Media Gateway Control Protocol
MIME  
RVP over IP Remote Voice Protocol Over IP Specification
SAPv2 Session Announcement Protocol
SDP Session Description Protocol
SGCP Simple Gateway Control Protocol
SIP Session Initiation Protocol
Skinny Skinny Client Control Protocol (SCCP)

Voice-over-IP Overview

Voice-over-IP (VoIP) implementations enables users to carry voice traffic (for example, telephone calls and faxes) over an IP network.

There are 3 main causes for the evolution of the Voice over IP market:

  • Low cost phone calls
  • Add-on services and unified messaging
  • Merging of data/voice infrastructures

A VoIP system consists of a number of different components: Gateway/Media Gateway, Gatekeeper, Call agent, Media Gateway Controller, Signaling Gateway and a Call manager

The Gateway converts media provided in one type of network to the format required for another type of network. For example, a Gateway could terminate bearer channels from a switched circuit network (i.e., DS0s) and media streams from a packet network (e.g., RTP streams in an IP network). This gateway may be capable of processing audio, video and T.120 alone or in any combination, and is capable of full duplex media translations. The Gateway may also play audio/video messages and performs other IVR functions, or may perform media conferencing.

In VoIP, the digital signal processor (DSP) segments the voice signal into frames and stores them in voice packets. These voice packets are transported using IP in compliance with one of the specifications for transmitting multimedia (voice, video, fax and data) across a network: H.323 (ITU), MGCP (level 3,Bellcore, Cisco, Nortel), MEGACO/H.GCP (IETF), SIP (IETF), T.38 (ITU), SIGTRAN (IETF), Skinny (Cisco) etc.

Coders are used for efficient bandwidth utilization. Different coding techniques for telephony and voice packet are standardized by the ITU-T in its G-series recommendations: G.723.1, G.729, G.729A etc.

The coder-decoder compression schemes (CODECs) are enabled for both ends of the connection and the conversation proceeds using Real-Time Transport Protocol/User Datagram Protocol/Internet Protocol (RTP/UDP/IP) as the protocol stack.


Quality of Service
A number of advanced methods are used to overcome the hostile environment of the IP net and to provide an acceptable Quality of Service. Example of these methods are: delay, jitter, echo, congestion, packet loss, and missordered packets arrival. As VoIP is a delay-sensitive application, a well-engineered, end-to-end network is necessary to use VoIP successfully. The Mean Opinion Score is one of the most important parameters that determine the QoS.

There are several methods and sophisticated algorithms developed to evaluate the QoS: PSQM (ITU P.861), PAMS (BT) and PESQ.Each CODEC provides a certain quality of service. The quality of transmitted speech is a subjective response of the listener (human or artificial means). A common benchmark used to determine the quality of sound produced by specific CODECs is the mean opinion score (MOS). With MOS, a wide range of listeners judge the quality of a voice sample (corresponding to a particular CODEC) on a scale of 1 (bad) to 5 (excellent).

Services
The following are examples of services provided by a Voice over IP network according to market requirements:

Phone to phone, PC to phone, phone to PC, fax to e-mail, e-mail to fax, fax to fax, voice to e-mail, IP Phone, transparent CCS (TCCS), toll free number (1-800), class services, call center applications, VPN, Unified Messaging, Wireless Connectivity, IN Applications using SS7, IP PABX and soft switch implementations.

 

Megaco (H.248)

Internet draft: draft-ietf-megaco-merged-00.txt

The Media Gateway Control Protocol, (Megaco) is a result of joint efforts of the IETF and the ITU-T Study Group 16. The protocol definition of this protocol is common text with ITU-T Recommendation H.248.

The Megaco protocol is used between elements of a physically decomposed multimedia gateway. There are no functional differences from a system view between a decomposed gateway, with distributed sub-components potentially on more than one physical device, and a monolithic gateway such as described in H.246. This protocol creates a general framework suitable for gateways, multipoint control units and interactive voice response units (IVRs).

Packet network interfaces may include IP, ATM or possibly others. The interfaces support a variety of SCN signalling systems, including tone signalling, ISDN, ISUP, QSIG and GSM. National variants of these signalling systems are supported where applicable.

All messages are in the format of ASN.1 text messages.

Interested in more details about testing this protocol?

 

MGCP

RFC: 2705 ftp://ftp.isi.edu/in-notes/rfc2705.txt
MGCP

Media Gateway Control Protocol (MGCP) is used for controlling telephony gateways from external call control elements called media gateway controllers or call agents. A telephony gateway is a network element that provides conversion between the audio signals carried on telephone circuits and data packets carried over the Internet or over other packet networks.

MGCP assumes a call control architecture where the call control intelligence is outside the gateways and handled by external call control elements. The MGCP assumes that these call control elements, or Call Agents, will synchronize with each other to send coherent commands to the gateways under their control. MGCP is, in essence, a master/slave protocol, where the gateways are expected to execute commands sent by the Call Agents.

The MGCP implements the media gateway control interface as a set of transactions. The transactions are composed of a command and a mandatory response. There are eight types of commands:

MGCP Commands

MGC --> MG CreateConnection: Creates a connection between two endpoints; uses SDP to define the receive capabilities of the paricipating endpoints.
MGC --> MG ModifyConnection: Modifies the properties of a connection; has nearly the same parameters as the CreateConnection command.
MGC <--> MG DeleteConnection: Terminates a connection and collects statistics on the execution of the connection.
MGC --> MG NotificationRequest: Requests the media gateway to send notifications on the occurrence of specified events in an endpoint.
MGC <-- MG Notify: Informs the media gateway controller when observed events occur.
MGC --> MG AuditEndpoint: Determines the status of an endpoint.
MGC --> MG AuditConnection: Retrieves the parameters related to a connection.
MGC <-- MG RestartInProgress: Signals that an endpoint or group of endpoints is take in or out of service.
MGC=Media Gateway Controller
MG=Media Gateway
  • CreateConnection.
  • ModifyConnection.
  • DeleteConnection.
  • NotificationRequest.
  • Notify.
  • AuditEndpoint.
  • AuditConnection.
  • RestartInProgress.

The first four commands are sent by the Call Agent to a gateway. The Notify command is sent by the gateway to the Call Agent. The gateway may also send a DeleteConnection. The Call Agent may send either of the Audit commands to the gateway. The Gateway may send a RestartInProgress command to the Call Agent.

All commands are composed of a command header, optionally followed by a session description. All responses are composed of a response header, optionally followed by a session description. Headers and session descriptions are encoded as a set of text lines, separated by a carriage return and line feed character (or, optionally, a single line-feed character). The headers are separated from the session description by an empty line.

MGCP uses a transaction identifier to correlate commands and responses. Transaction identifiers have values between 1 and 999999999. An MGCP entity cannot reuse a transaction identifier sooner than 3 minutes after completion of the previous command in which the identifier was used.
The command header is composed of:

  • A command line, identifying the requested action or verb, the transaction identifier, the endpoint towards which the action is requested, and the MGCP protocol version,
  • A set of parameter lines, composed of a parameter name followed by a parameter value.

The command line is composed of:

  • Name of the requested verb.
  • Transaction identifier correlates commands and responses. Values may be between 1 and 999999999. An MGCP entity cannot reuse a transaction identifier sooner than 3 minutes after completion of the previous command in which the identifier was used.
  • Name of the endpoint that should execute the command (in notifications, the name of the endpoint that is issuing the notification).
  • Protocol version.

These four items are encoded as strings of printable ASCII characters, separated by white spaces, i.e., the ASCII space (0x20) or tabulation (0x09) characters. It is recommended to use exactly one ASCII space separator.

Interested in more details about testing this protocol?

 

MIME

http://www.rfc-editor.org/rfcsearch.html RFC 2045 - 2049

This set of standards, collectively called the Multipurpose Internet Mail Extensions, or MIME, redefine the format of messages to allow for textual message bodies in character sets other than US-ASCII, an extensible set of different formats for non-textual message bodies, multi-part message bodies, and textual header information in character sets other than US-ASCII.

The initial standard in this set, RFC 2045, specifies the various headers used to describe the structure of MIME messages. RFC 2046 defines the general structure of the MIME media typing system and defines an initial set of media types. The third standard, RFC 2047, describes extensions to RFC 822 to allow non-US-ASCII text data in Internet mail header fields. The fourth standard, RFC 2048, specifies various IANA registration procedures for MIME-related facilities. The fifth and final standard, RFC 2049, describes MIME conformance criteria as well as providing some illustrative examples of MIME message formats, acknowledgements, and the bibliography.

The first standard in this set, RFC 2045, defines a number of header fields, including Content-Type. The Content-Type field is used to specify the nature of the data in the body of a MIME entity, by giving media type and subtype identifiers, and by providing auxiliary information that may be required for certain media types. After the type and subtype names, the remainder of the header field is simply a set of parameters, specified in an attribute/value notation. The ordering of parameters is not significant.

In general, the top-level media type is used to declare the general type of data, while the subtype specifies a specific format for that type of data. Thus, a media type of "image/xyz" is enough to tell a user agent that the data is an image, even if the user agent has no knowledge of the specific image format "xyz". Such information can be used, for example, to decide whether or not to show a user the raw data from an unrecognized subtype -- such an action might be reasonable for unrecognized subtypes of "text", but not for unrecognized subtypes of "image" or "audio". For this reason, registered subtypes of "text", "image", "audio", and "video" should not contain embedded information that is really of a different type.

Such compound formats should be represented using the "multipart" or "application" types.

Parameters are modifiers of the media subtype, and as such do not fundamentally affect the nature of the content. The set of meaningful parameters depends on the media type and subtype. Most parameters are associated with a single specific subtype. However, a given top-level media type may define parameters which are applicable to any subtype of that type. Parameters may be required by their defining media type or subtype or they may be optional. MIME implementations must also ignore any parameters whose names they do not recognize.

MIME's Content-Type header field and media type mechanism has been carefully designed to be extensible, and it is expected that the set of media type/subtype pairs and their associated parameters will grow significantly over time. Several other MIME facilities, such as transfer encodings and "message/external-body" access types, are likely to have new values defined over time. In order to ensure that the set of such values is developed in an orderly, well-specified, and public manner, MIME sets up a registration process which uses the Internet Assigned Numbers Authority (IANA) as a central registry for MIME's various areas of extensibility. The registration process for these areas is described in RFC 2048.

Interested in more details about testing this protocol?

 

RVP over IP

RVP Over IP Specification, MCK Communications (Proprietary)

Remote Voice Protocol (RVP) is MCK Communications' protocol for transporting digital telephony sessions over packet or circuit based data networks. The protocol is used primarily in MCK's Extender product family, which extends PBX services over Wide Area Networks (WANs). RVP provides facilities for connection establishment and configuration between a client (or remote station set) device and a server (or phone switch) device.

RVP/IP uses TCP to transport signalling and control data, and UDP to transport voice data.

Signalling and Control Packets

Control and signalling packets carried over TCP are encapsulated using the following format, a header followed by signalling or control messages:

1 byte
1 byte
 
Length
Protocol code
RVP/IP messages
RVP over IP packet structure
Length
A one byte field containing the length of the header (protocol code and the entire RVP/IP message). The length field allows recognition of message boundaries in a continuous TCP data stream.

Protocol code
Identifies the RVP/IP protocol:

35

RVP/IP control messages (see RVP Control Protocol).

36

RVP/IP signalling data (see RVP Signalling Operations).

RVP/IP messages
RVP/IP messages include RVP Control Protocol (RVPCP) and RVP Signalling Operations described below.

RVP Control Protocol (RVPCP)

RVP Control Protocol is for control messages that configure and maintain the data link between the client and the server. The control protocol was originally developed for point-to-point data applications; most of its functionality is unnecessary when using TCP/IP. During an RVP/IP session, only one class of RVP/IP control message are exchanged: RVPCP ADD VOICE (operation code 12) packet, used to send the UDP port used by the client (for subsequent voice data packets) to the server. This message always takes a single parameter of type RVPCP UDP PORT (type code 9), which always has a length of exactly two and a value that is the two-byte UDP port to which voice data packets should be addressed. The server responds with a packet containing the code RVPCP ADD VOICE ACK (operation code 13) which contains exactly one parameter, the server's voice UDP port. If RVP/IP is operating in "dynamic voice" mode, this exchange must be repeated whenever the voice channel needs to be reestablished, i.e., whenever the phone goes off-hook.

The structure of the control messages is described below:

2 bytes
2 bytes
 
Operation code
Parameter count
Parameters
RVP over IP control message structure

Operation code
The operation code defines the class of RVP/IP control messages Possible classes are:

12

RVPCP ADD VOICE

13

RVPCP ADD VOICE ACK

Parameter count
The parameter count equals exactly one parameter.

Parameters
Parameters of all control messages are passed as Type, Length and Value (TLV) structures as described below:

2 bytes
2 bytes
 
Type
Length
Value...
RVP over IP control message structure

Type
RVPCP UDP PORT (or type code 9).

Length
The number of bytes in the value field.

Value
The UDP port number.

RVP Signalling Operations


The structure of RVP signalling data (protocol type 36) is described below:

7 8 8 8
Packet Length Protocol Message Length Data
RVP over IP signalling message structure

RVP signalling data packets always begin with a length byte immediately after the RVP/IP encapsulation header. The packets contain two classes of data, either raw digital telephone signalling packets or high-level RVP session commands. Session commands are differentiated from raw signalling data by adding an offset of 130 in the "Message Length" field. All raw signalling data has a true length field of less than or equal to 128. The true length of a session command message is calculated by subtracting 130 from the length field.

For all session commands, the Command Code (one-byte) follows the message length field. Bit seven of the command code is considered the "ACK" bit. All other bits in this field are part of the command code itself.

Voice Data Packets

The structure of voice data packets, carried over UDP datagrams, is described below:

7
 
Protocol
RVP/IP Voice Data...
RVP over IP Voice packet structure

Protocol
The protocol code is always 37 for RVP/IP voice data packets.

RVP/IP voice data
A single voice packet is carried in each UDP datagram.

Interested in more details about testing this protocol?

 

SAPv2

Internet draft: http://search.ietf.org/internet-drafts/draft-ietf-mmusic-sap-v2-04.txt 

SAP is an announcement protocol that is used by session directory clients. A SAP announcer periodically multicasts an announcement packet to a well-known multicast address and port. The announcement is multicast with the same scope as the session it is announcing, ensuring that the recipients of the announcement can also be potential recipients of the session the announcement describes (bandwidth and other such constraints permitting). This is also important for the scalability of the protocol, as it keeps local session announcements local.

The following is the format of the SAP data packet.

V=1

A

R

T

E

C

Auth len

Msg id hash

Originating source

Optional Authentication Data

Optional timeout

Optional payload type

0

Payload

SAP data packet structure

V: Version Number
The version number field is three bits and MUST be set to 1.

A: Address Type
The Address type field is one bit. It can have a value of 0 or 1:
0          The originating source field contains a 32-bit IPv4 address. 
1          The originating source contains a 128-bit IPv6 address.

R: Reserved
SAP announcers set this to 0. SAP listeners ignore the contents of this field.

T: Message Type
The Message Type field is one bit. It can have a value of 0 or 1:
0          Session announcement packet
1          Session deletion packet.

E: Encryption Bit
The encryption bit may be 0 or 1.
1          The payload of the SAP packet is encrypted and the timeout field must be added to the packet header.
0          The packet is not encrypted and the timeout must not be present. 

C: Compressed Bit
If the compressed bit is set to 1, the payload is compressed.

Authentication Length
An 8 bit unsigned quantity giving the number of 32 bit words, following the main SAP header, that contain authentication data. If it is zero, no authentication header is present.

Message Identifier Hash
A 16-bit quantity that, used in combination with the originating source, provides a globally unique identifier indicating the precise version of this announcement.

Originating Source
This field contains the IP address of the original source of the message. This is an IPv4 address if the A field is set to zero; otherwise, it is an IPv6 address. The address is stored in network byte order.

Timeout
When the session payload is encrypted, the detailed timing fields in the payload are not available to listeners not trusted with the decryption key. Under such circumstances, the header includes an additional 32-bit timestamp field stating when the session should be timed out. The value is an unsigned quantity giving the NTP time in seconds at which time the session is timed out. It is in network byte order.

Payload Type
The payload type field is a MIME content type specifier, describing the format of the payload. This is a variable length ASCII text string, followed by a single zero byte (ASCII NUL).

Payload
The Payload field includes various sub fields:

Version number (V)
The version number of the authentication format is 1.

Padding Bit (P)
If necessary, the authentication data is padded to be a multiple of 32 bits and the padding bit is set. In this case the last byte of the authentication data contains the number of padding bytes (including the last byte) that must be discarded.

Authentication Type (Auth)
The authentication type is a 4 bit encoded field that denotes the authentication infrastructure the sender expects the recipients to use to check the authenticity and integrity of the information. This defines the format of the authentication sub-header and can take the values: 0=PGP format, 1=CMS format. All other values are undefined.

Interested in more details about testing this protocol?

 

SDP

RFC 2327 ftp://ftp.isi.edu/in-notes/rfc2327.txt

The Session Description Protocol (SDP) describes multimedia sessions for the purpose of session announcement, session invitation and other forms of multimedia session initiation.

On Internet Multicast backbone (Mbone) a session directory tool is used to advertise multimedia conferences and communicate the conference addresses and conference tool-specific information necessary for participation. The SDP does this. It communicates the existence of a session and conveys sufficient information to enable participation in the session. Many of the SDP messages are sent by periodically multicasting an announcement packet to a well-known multicast address and port using SAP (session announcement protocol). These messages are UDP packets with a SAP header and a text payload. The text payload is the SDP session description. Messages can also be sent using email or the WWW (World Wide Web).

The SDP text messages include:

  • Session name and purpose
  • Time the session is active
  • Media comprising the session
  • Information to receive the media (address etc.)

SDP messages are text messages using the ISO 10646 character set in UTF-8 encoding.

Interested in more details about testing this protocol?

 

SIP

For information on how to simulate thousands of SIP calls  


RFC 2543 ftp://ftp.isi.edu/in-notes/rfc2543.txt

Session Initiation Protocol (SIP) is a application layer control simple signalling protocol for VoIP implementations using the Redirect Mode.

SIP is a textual client-server base protocol and provides the necessary protocol mechanisms so that the end user systems and proxy servers can provide different services:

  1. Call forwarding in several scenarios: no answer, busy , unconditional, address manipulations (as 700, 800 , 900- type calls).
  2. Callee and calling number identification
  3. Personal mobility
  4. Caller and callee authentication
  5. Invitations to multicast conference
  6. Basic Automatic Call Distribution (ACD)

SIP addresses (URL) can be embedded in Web pages and therefore can be integrated as part of powerful implementations (Click to talk, for example).

SIP using simple protocol structure, provides the market with fast operation, flexibility, scalability and multiservice support.

SIP provides its own reliability mechanism. SIP creates, modifies and terminates sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate using multicast or using a mesh of unicast relations, or a combination of these. SIP invitations used to create sessions carry session descriptions which allow participants to agree on a set of compatible media types. It supports user mobility by proxying and redirecting requests to the user's current location. Users can register their current location. SIP is not tied to any particular conference control protocol. It is designed to be independent of the lower-layer transport protocol and can be extended with additional capabilities.

SIP transparently supports name mapping and redirection services, allowing the implementation of ISDN and Intelligent Network telephony subscriber services. These facilities also enable personal mobility which is based on the use of a unique personal identity

SIP supports five facets of establishing and terminating multimedia communications:

User location
User capabilities
User availability
Call setup
Call handling.

SIP can also initiate multi-party calls using a multipoint control unit (MCU) or fully-meshed interconnection instead of multicast. Internet telephony gateways that connect Public Switched Telephone Network (PSTN) parties can also use SIP to set up calls between them.

SIP is designed as part of the overall IETF multimedia data and control architecture currently incorporating protocols such as RSVP, RTP RTSP, SAP and SDP. However, the functionality and operation of SIP does not depend on any of these protocols.

SIP can also be used in conjunction with other call setup and signalling protocols. In that mode, an end system uses SIP exchanges to determine the appropriate end system address and protocol from a given address that is protocol-independent. For example, SIP could be used to determine that the party can be reached using H.323 to find the H.245 gateway and user address and then use H.225.0 to establish the call.

SIP Operation

Sip works as follows:
Callers and callees are identified by SIP addresses. When making a SIP call, a caller first locates the appropriate server and then sends a SIP request. The most common SIP operation is the invitation. Instead of directly reaching the intended callee, a SIP request may be redirected or may trigger a chain of new SIP requests by proxies. Users can register their location(s) with SIP servers.

SIP messages can be transmitted either over TCP or UDP
SIP messages are text based and use the ISO 10646 character set in UTF-8 encoding. Lines must be terminated with CRLF. Much of the message syntax and header field are similar to HTTP. Messages can be request messages or response messages.

Protocol header structure.

The protocol is composed of a start line, message header, an empty line and an optional message body.

Request Messages

The format of the Request packet header is shown in the following illustration:

Method Request URI SIP version
SIP request packet structure

Method
The method to be performed on the resource. Possible methods are Invite, Ack, Options, Bye, Cancel, Register

Methods  
Command Function
INVITE Initiate Call
ACK Confirm final response
BYE Terminate and transfer call
CANCEL Cancel searches and "ringing"
OPTIONS Features support by other side
REGISTER Register with location service

Request-URI
A SIP URL or a general Uniform Resource Identifier, this is the user or service to which this request is being addressed.

SIP version
The SIP version being used; this should be version 2.0

Response Message

The format of the Response message header is shown in the following illustration:

SIP version Status code Reason phrase
SIP response packet structure

Response Codes  
Response Code Prefix Function
1xx Searching, ringing, queuing
2xx Success
3xx Fowarding
4xx Client mistakes
5xx Server failures
6xx Busy, refuse, not available anywhere

SIP version
The SIP version being used.

Status-code
A 3-digit integer result code of the attempt to understand and satisfy the request.

Reason-phrase
A textual description of the status code.

Typical SIP Calls

Interested in more details about testing this protocol?

 

SGCP

IETF draft: http://www.ietf.org/internet-drafts/draft-huitema-sgcp-v1-02.txt

Simple Gateway Control Protocol (SGCP) is used to control telephony gateways from external call control elements. A telephony gateway is a network element that provides conversion between the audio signals carried on telephone circuits and data packets carried over the Internet or over other packet networks.

The SGCP assumes a call control architecture where the call control intelligence is outside the gateways and is handled by external call control elements. The SGCP assumes that these call control elements, or Call Agents, will synchronize with each other to send coherent commands to the gateways under their control.

The SGCP implements the simple gateway control interface as a set of transactions. The transactions are composed of a command and a mandatory response. There are five types of commands:

  • CreateConnection.
  • ModifyConnection.
  • DeleteConnection.
  • NotificationRequest.
  • Notify.

The first four commands are sent by the Call Agent to a gateway. The Notify command is sent by the gateway to the Call Agent. The gateway may also send a DeleteConnection.

All commands are composed of a Command header, optionally followed by a session description. All responses are composed of a Response header, optionally followed by a session description. Headers and session descriptions are encoded as a set of text lines, separated by a line feed character. The headers are separated from the session description by an empty line.

The command header is composed of:

  • Command line.
  • A set of parameter lines, composed of a parameter name followed by a parameter value.

The command line is composed of:

  • Name of the requested verb.
  • Transaction identifier, correlates commands and responses. Transaction identifiers may have values between 1 and 999999999 and transaction identifiers are not reused sooner than 3 minutes after completion of the previous command in which the identifier was used.
  • Name of the endpoint that should execute the command (in notifications, the name of the endpoint that is issuing the notification).
  • Protocol version.

These four items are encoded as strings of printable ASCII characters, separated by white spaces, i.e. the ASCII space (0x20) or tabulation (0x09) characters. It is recommended to use exactly one ASCII space separator.

Interested in more details about testing this protocol?

 

Skinny

Cisco protocol

Skinny Client Control Protocol (SCCP). Telephony systems are moving to a common wiring plant. The end station of a LAN or IP- based PBX must be simple to use, familiar and relatively cheap. The H.323 recommendations are quite an expensive system. An H.323 proxy can be used to communicate with the Skinny Client using the SCCP. In such a case the telephone is a skinny client over IP, in the context of H.323. A proxy is used for the H.225 and H.245 signalling.

The skinny client (i.e. an Ethernet Phone) uses TCP/IP to transmit and receive calls and RTP/UDP/IP to/from a Skinny Client or H.323 terminal for audio. Skinny messages are carried above TCP and use port 2000.

The messages consist of Station message ID messages.

They can be of the following types:

Code

Station Message ID Message

0x0000

Keep Alive Message

0x0001

Station Register Message

0x0002

Station IP Port Message

0x0003

Station Key Pad Button Message

0x0004

Station Enbloc Call Message

0x0005

Station Stimulus Message

0x0006

Station Off Hook Message

0x0007

Station On Hook Message

0x0008

Station Hook Flash Message

0x0009

Station Forward Status Request Message

0x11

Station Media Port List Message

0x000A

Station Speed Dial Status Request Message

0x000B

Station Line Status Request Message

0x000C

Station Configuration Status Request Message

0x000D

Station Time Date Request Message

0x000E

Station Button Template Request Message

0x000F

Station Version Request Message

0x0010

Station Capabilities Response Message

0x0012

Station Server Request Message

0x0020

Station Alarm Message

0x0021

Station Multicast Media Reception Ack Message

0x0024

Station Off Hook With Calling Party Number Message

0x22

Station Open Receive Channel Ack Message

0x23

Station Connection Statistics Response Message

0x25

Station Soft Key Template Request Message

0x26

Station Soft Key Set Request Message

0x27

Station Soft Key Event Message

0x28

Station Unregister Message

0x0081

Station Keep Alive Message

0x0082

Station Start Tone Message

0x0083

Station Stop Tone Message

0x0085

Station Set Ringer Message

0x0086

Station Set Lamp Message

0x0087

Station Set Hook Flash Detect Message

0x0088

Station Set Speaker Mode Message

0x0089

Station Set Microphone Mode Message

0x008A

Station Start Media Transmission

0x008B

Station Stop Media Transmission

0x008F

Station Call Information Message

0x009D

Station Register Reject Message

0x009F

Station Reset Message

0x0090

Station Forward Status Message

0x0091

Station Speed Dial Status Message

0x0092

Station Line Status Message

0x0093

Station Configuration Status Message

0x0094

Station Define Time & Date Message

0x0095

Station Start Session Transmission Message

0x0096

Station Stop Session Transmission Message

0x0097

Station Button Template Message

0x0098

Station Version Message

0x0099

Station Display Text Message

0x009A

Station Clear Display Message

0x009B

Station Capabilities Request Message

0x009C

Station Enunciator Command Message

0x009E

Station Server Respond Message

0x0101

Station Start Multicast Media Reception Message

0x0102

Station Start Multicast Media Transmission Message

0x0103

Station Stop Multicast Media Reception Message

0x0104

Station Stop Multicast Media Transmission Message

0x105

Station Open Receive Channel Message

0x0106

Station Close Receive Channel Message

0x107

Station Connection Statistics Request Message

0x0108

Station Soft Key Template Respond Message

0x109

Station Soft Key Set Respond Message

0x0110

Station Select Soft Keys Message

0x0111

Station Call State Message

0x0112

Station Display Prompt Message

0x0113

Station Clear Prompt Message

0x0114

Station Display Notify Message

0x0115

Station Clear Notify Message

0x0116

Station Activate Call Plane Message

0x0117

Station Deactivate Call Plane Message

0x118

Station Unregister Ack Message


Interested in more details about testing this protocol?


VoIP 보안이 IT 정보보안 시장의 새로운 엘도라도로 주목받고 있다. 다양한 장점이 있지만, 위협에 의해 장점이 희석될 수 있는 요소가 많은 것이 바로 VoIP 서비스다. 따라서 안전한 VoIP 이용을 위한 정보보안은 VoIP 확산의 필요충분조건이라고 할 수 있다. VoIP 보안 시장을 살핀다. <편집자>

VoIP(Voice over Internet Protocol)는 기존 유선 전화를 대체할 수 있는 신대륙이다. 기존에 사용하고 있는 데이터 통신 패킷망, 즉 인터넷망을 이용해 음성 통화를 이용하는 기술을 말한다. IP 망을 이용하기 때문에 다양한 서비스가 가능하다는 장점이 있으며, 기존 전화에 비해 저렴한 요금의 서비스가 가능하다.

하지만 VoIP 서비스는 IP를 근간으로 하기 때문에 오늘날 인터넷에 존재하는 다양한 위협요소의 영향을 그대로 받을 수 있다는 점이 단점으로 꼽힌다. 보안이 전제되지 않는다면, VoIP 서비스는 황금의 도시 엘도라도가 아닌 한낱 신기루가 될 수 있는 것. 도청, 스팸, 서비스거부공격(DDoS), 과금회피 등 VoIP에서 발생할 수 있는 위협을 해소할 수 있어야 VoIP의 본격적 확산이 가능하기에 VoIP 서비스와 함께 VoIP 보안에 대한 관심도 아울러 높아지고 있으며, VoIP 보안은 보안 시장의 엘도라도로 부상하고 있다.

IP기반 위험 상존 VoIP를 보호하라!
IDC 가 발표한 자료에 따르면, 국내 VoIP 서비스 시장은 연평균 53%로 성장해 2011년에는 약 1조4000억원 규모에 이를 것으로 전망된다. 또 방송통신위원회는 2012년까지 유선전화의 60%를 VoIP 기반으로 전환하겠다고 밝히고 있어 국내 VoIP 시장 전망을 더욱 장밋빛으로 만들고 있다.

VoIP 시장 확대는 VoIP 보안 시장에게도 호재다. 다양한 인터넷 위협요소를 그대로 갖고 있는 것이 VoIP이기에 서비스 확대는 VoIP 보안 수요 증가를 가져올 것이기 때문이다. 이에 따라 국내외적으로 VoIP 전용장비가 속속 등장하고 있다.

VoIP 전용장비에 대해서는 의견이 갈린다. VoIP에서 보안이 중시되는 것은 사실이지만, 별도의 VoIP 전용장비에 대해서는 의문을 제시하는 전문가들도 존재한다. “VoIP 서비스에서 보안이 중시되는 것은 IP를 기반으로 하기 때문인데, 이를 다시 말하면 기존 보안장비를 통해 VoIP 보안이 가능하다는 얘기가 된다. 또 VoIP에서 보안이 선행조건이기 때문에 SBC와 같은 VoIP 장비에서는 기본적으로 보안 기능이 탑재돼 있어 별도의 보안 장비가 시장을 형성하기는 쉽지 않다.”

시스코는 이러한 주장을 뒷받침하는 기업이다. UC(Unified Communication) 전략의 주요 구성요소로 VoIP 서비스 솔루션을 공급하고 있는 시스코는 솔루션 내에 보안 기능을 탑재해 VoIP 서비스의 안전을 보장하고 있다.

최우형 시스코코리아 차장은 “VoIP 솔루션을 공급하는 시스코는 SIP(Session Initiation Protocol) 등 VoIP 프로토콜에 대한 이해가 가장 깊다”고 언급하면서 “프로토콜에 대한 높은 이해도를 바탕으로 VoIP 솔루션의 보안 기능을 충실히 탑재하는 한편 시스코가 공급하는 방화벽, IPS 등의 보안 장비를 통해서도 VoIP 서비스를 보호할 수 있는 기능을 탑재하고 있다”고 강조했다.

김권용 한국쓰리콤 과장도 “과금회피 방지 등 VoIP 솔루션의 기본 사항이며, 이외 웜이나 DDoS 공격 등은 IPS로 방어할 수 있다”며 “세계 최고의 IPS를 제공하는 티핑포인트 사업부, 디지털 백신 등을 통해 쓰리콤은 VoIP에 대한 철저한 보안을 제공한다”고 밝혔다.

VoIP 보안 장비 봇물
VoIP 솔루션에서 기본적 보안 기능을 제공하지만, VoIP 전용 보안 장비는 쏟아져 나오고 있다. 나우콤이 출시한 VoIP 전용 IPS인 ‘스나이퍼IPS V’를 비롯해 모니터랩의 ‘UC인사이트SG’, 시큐아이닷컴의 ‘시큐아이 NXG 5000T’ 등이 바로 VoIP 전용보안을 내세워 출시된 솔루션이다. 외산 제품들 중에서는 크로스위브테크놀로지를 국내 총판으로 선정하면서 한국시장에 대한 강한 의지를 보이고 있는 VoIP쉴드시스템즈, 사이패라시스템즈 등이 전용 솔루션을 선보이고 있다.

VoIP 솔루션 벤더에서 보안 솔루션을 제공함에도 이렇듯 VoIP 전용장비가 쏟아지는 까닭은 무엇일까. 이에 대해 한국정보보호진흥원(KISA) IT기반보호단 보호기술부의 정현철 부장은 이렇게 설명한다. “방화벽으로 기본적 보안이 가능하지만 웹 공격에 대한 보다 정교한 방어를 제공하는 웹 애플리케이션 방화벽(WAF)가 요구되는 것처럼 VoIP에 대한 보안 강화를 위해 VoIP 보안이 각광받는 것”이라고 설명했다.

세계 VoIP 보안 시장을 우리나라가 주도하기 위해 KISA는 지난 2006년부터 보안이 강화된 VoIP 서비스 제공을 위한 기술개발(SIP 응용 서비스 보호를 위한 침입 대응 시스템 개발)을 진행해오고 있으며, 이를 통해 개발한 기술을 시큐아이닷컴, 모니터랩 등에 이전하는 성과를 거뒀다. KISA는 기술이전 이후에도 VoIP 보안기술 개발과제를 계속 개발하고 있다.

VoIP 보안을 위한 가장 대표적인 솔루션은 바로 SBC다. VoIP는 일종의 VoIP 전용 방화벽으로 볼 수 있다. SIP 메시지 암호, DoS 공격차단, NAT/파이어월 등 다양한 기능을 통해 VoIP 인프라에 대한 보호를 진행하는 것이다.

SBC 부문에서 전세계적으로 주목받고 있는 것은 애크미패킷(AcmePacket), 사이패라(Sipera) 등이며, 국내에서는 시큐아이닷컴, 네이블커뮤니케이션즈 등이 SBC 솔루션을 선보이고 있다. 이 가운데 시큐아이닷컴의 솔루션(시큐아이 NXG 5000T)은 KISA가 VoIP 보안을 위해 개발한 보안 세션제어콘트롤러 기술을 이전받은 것이다.

SBC는 VoIP 전용 방화벽으로 볼 수 있지만, VoIP 단말이 서비스 시스템에 접근할 때 소프트스위치와 IP를 통한 통신을 가능하게 하는 역할을 수행하는 기능도 있어 VoIP 서비스 제공을 위해서는 필수적이다.

정 현철 부장은 “전세계적으로 애크미패킷의 점유율이 높지만, 아직은 초기시장이란 점을 고려하면 큰 격차는 아니다”면서 “SBC에서 보안 또한 중요한 요소이기에 SBC의 보안을 보다 강화할 수 있는 기술을 개발해 시큐아이닷컴에 이전했다”고 설명했다.

KISA 로부터 기술이전을 받아 시큐아이5000T를 개발, 출시한 시큐아이닷컴은 “호/미디어 접근제어, 토폴로지 하이딩, NAT/파이어월 등 SBC의 주요 기능 외에도 SIP 헤더 필터링, VoIP 스팸방어, SQL인젝션 공격 방어, SIP 기반 DDoS 방어 등 강력한 보안 기능을 제공한다”고 밝혔다.

비용 효율적 보안 구축
하지만 VoIP 보안을 위한 대표적 솔루션인 SBC는 ‘VoIP 전용 보안 장비’의 논란에서는 한 발 비켜서 있다. SBC는 이미 VoIP 서비스 제공을 위한 필수 솔루션으로 자리잡고 있기 때문이다. 앞서 언급한 VoIP 전용 보안 장비에 대한 논란은 SBC가 아닌 VoIP 전용 IPS, VoIP 전용 방화벽 등에 대한 의문이라고 할 수 있다. 즉 ‘SBC가 있는데 왜 또다른 VoIP 전용 보안 장비가 필요한가’에 대한 의문인 것이다. 더욱이 앞서 살핀 것처럼 SBC 솔루션은 경쟁력 강화를 위해 제공 보안 기능을 더욱 넓혀나가고 있기도 하다.

이에 대해서는 SBC 기반의 보안 기술과 VoIP 방화벽/IPS 기술, VoIP 스팸 차단 기술 등에 대한 개발을 모두 진행한 KISA의 답변이 힌트가 될 것 같다. 정현철 KISA 부장은 “VoIP 보안에 대한 방법은 매우 다양하다”며 “초기 시장인 지금, 여러 VoIP 보안 방안 중 가장 비용효율적이면서 동시에 효과적인 방법을 찾아가는 과정에서 다양한 시도가 이뤄지는 것”이라고 설명했다.

SBC가 매우 높은 가격대를 형성하고 있다는 점은 VoIP 전용 IPS 등의 필요성에 대한 근거로 제시되는 부문이다. 현재 SBC는 대당 수억원의 비용을 투자해야 한다. SBC를 통해서만 VoIP 서비스 보호를 진행하려 한다면, 다양한 수많은 악성 트래픽으로 인한 부하로 인해 더 많은 SBC를 구비해야 해 막대한 손해가 발생하게 된다. 이에 더해 대량 트래픽을 발생시켜 공격을 감행하는 DoS/DDoS 공격의 경우에는 더욱 심각한 상황이 발생하게 된다.

예를 들어 동시에 1만 콜을 처리하는 SBC 장비를 보유하고 있는데, 2만여 콜이 발생했다면 SBC 장비를 더 구비해야 한다. 하지만 이들 콜 중 1만2000콜 이상이 악성 콜이었다면 추가한 SBC는 불필요한 투자가 된다. 더욱이 앞서 언급한 것처럼 SBC 장비 가격은 만만치 않다. SBC 앞 단에서 이러한 악성 트래픽을 차단할 수 있는 보안 솔루션이 요청되는 것으로 비용효율적인 VoIP 보안을 위해 VoIP 전용 IPS 등이 주목받고 있다.

시장 경쟁 ‘치열’
VoIP 전용 IPS로 주목받는 것은 VoIP쉴드시스템즈이다. 회사명에서 짐작할 수 있듯 VoIP 전문 보안 기업을 표방하면서 탄생한 VoIP쉴드시스템즈는 최근 크로스위브테크놀로지스와 국내 독점 총판 계약을 체결하면서 국내 시장 공략의 불을 당겼다.

VoIP 쉴드시스템즈의 솔루션은 ▲VoIP 네트워크의 취약성 분석을 제공하는 VoIP오딧 ▲새로운 VoIP 보안위협과 공격에 대한 포괄적인 보안을 제시하는 VoIP가드 ▲VoIP스팸 공격에 대한 보안 솔루션인 VoIP블록 ▲VoIP NAC 전용 솔루션인 VoIP스크린(VoIPscreen) 등 다양한 보안 기능을 제공, VoIP 네트워크에 대한 보다 세밀한 보호를 제공할 수 있다는 점에서 관심을 끌고 있다.

크로스위브테크놀로지스 심재은 팀장은 “크로스위브는 VoIP 보안 분야에 역량을 집중해 VoIP 보안 선도기업이 되도록 할 것”이라고 밝히면서 “VoIP쉴드의 솔루션은 이미 해외시장에서 다양한 기업에 공급돼 성능과 안전성에 대한 검증을 끝마친 제품으로 국내 시장에서도 위력을 발휘할 것”이라고 자신했다. 이어 최 팀장은 “보다 포괄적인 VoIP 네트워크 보호를 위해 VoIP쉴드 외에 또다른 솔루션 공급을 기획하고 있다”고 덧붙였다.

국내 보안 기업 중에서는 모니터랩이 눈에 띈다. VoIP 전용 솔루션으로 ‘UC인사이트SG’를 출시한 모니터랩은 엠프론티어를 파트너로 영입, 시장 공략을 자신하고 있다. 엠프론티어는 한국타이어의 정보시스템 운영경험을 바탕으로 컨설팅에서부터 솔루션, 정보서비스 아웃소싱에 이르는 토털 IT 솔루션과 서비스를 제공하고 있는 기업으로 UC인사이트SG의 영업, 마케팅은 물론 고객기술지원까지 책임지게 된다.

UC인사이트SG는 IPS 기반으로 개발되는 전용 VoIP 보안 솔루션과 달리 방화벽 기술을 기반으로 VoIP 보안을 구현한 솔루션이란 점에서 차별화 요소를 갖고 있어 시장 공략의 가능성이 높다는 것이 모니터랩 측의 기대다.

모 니터랩은 “단순 패턴매칭 방식의 IPS 기반 기술이 아니라 방화벽에 기반하기 때문에 다양한 정책적용이 가능하다”며 “VoIP 표준 프로토콜인 SIP, RTP 프로토콜 파싱을 통해 다양한 보안위협에 대해 완벽한 대응할 수 있다는 점이 장점”이라고 소개했다.

UC 인사이트SG 영업을 총괄하는 강영중 엠프론티어 부장은 “UC인사이트SG는 KISA 연구개발을 이전받은 것이지만 WAF 시장에서 축적한 모니터랩의 역량이 녹아들어 있다”며 “UC인사이트SG의 우수성에 엠프론티어의 서비스 역량을 결합해 안전한 VoIP 서비스 네트워크가 구현되도록 할 것”이라고 밝혔다.

나우콤은 VoIP 전용 IPS로 ‘스나이퍼IPS V’를 출시했다. 스나이퍼IPS V는 VoIP 서비스 프로토콜을 분석함으로써 보다 안전한 VoIP 서비스가 이뤄지도록 한다. 송신자/수신자 ID를 구분하고, 통화 상태 모니터링함으로써 VoIP 서비스를 대상으로 한 스팸, DDoS 공격 등에 대한 방어를 제공하는 것이다.

스 나이퍼IPS V는 4월 중순 EAL4 수준의 CC인증을 획득했다. 1월 평가계약이 체결됐다는 점을 고려하면, 3개월 만에 신속하게 인증을 완료한 것이다. VoIP IPS와 관련한 CC인증은 나우콤 스나이퍼IPS V가 국내 최초의 사례로 나우콤은 빠른 CC인증을 바탕으로 CC인증이 도입의 사전 조건이 되는 공공시장은 물론 CC인증으로 공인받은 신뢰성을 통해 민간시장에서의 공급확대를 기대했다.

이인행 나우콤 상무는 “스나이퍼IPS V는 나우콤이 이미 KT 등 통신사업자의 요구로 개발, 공급한 솔루션을 상용제품으로 개발한 것”이라며 “이는 통신3사가 모두 스나이퍼IPS V의 레퍼런스라고 볼 수 있어 안정성과 보안성에 대한 시장 검증이 완료된 것으로 볼 수 있다”고 말했다.

전용 IPS Vs. 범용 IPS
VoIP 보안 전문기업을 표방하면서 탄생한 기업을 제외하면, 기존 IPS 기업 중 VoIP 전용 IPS를 출시한 것은 나우콤이 최초이며, 유일하다. 티핑포인트, 시스코 등의 글로벌 기업들은 VoIP 전용 IPS를 출시하고 있지는 않다.

글로벌 IPS 벤더들은 “VoIP 보안을 위한 다수의 시그니처, 패턴을 제공하고 있으며, 이를 통해 VoIP 보안 위협에 대응할 수 있다”고 한 목소리로 밝혔다. 즉 VoIP 시그니처, 패턴 위주로 구성해 VoIP 시스템 앞단에 위치시킨다면 VoIP 서비스에 대한 충분한 보호를 제공할 수 있다는 것. 이어 이들은 “VoIP 시스템 앞단에 위치한다고 해서 VoIP 보안 전용장비라고 할 수 없다는 점에서 VoIP 전용 IPS라고 하지 않는다”면서 “최근 등장하는 VoIP 전용 IPS에 대해 보다 면밀하게 검토를 진행해봐야 보다 정확한 평가를 내릴 수 있겠지만, 일단은 시장 진입을 위해 신생 기업이 VoIP를 차별화 요소로 가져가려는 것이 아닐까 추측된다”고 덧붙였다.

이러한 설명은 기존 IPS 벤더 중에서는 유일하게 VoIP 전용장비로 선보인 나우콤 스나이퍼IPS V에 대한 의구심을 불러일으킨다. ‘기존 IPS에 몇 가지 VoIP 관련 시그니처를 추가해 VoIP 장비로 포장한 것이 아니냐’는 의구심이 그것이다.

게다가 스나이퍼IPS V의 빠른 CC인증은 이러한 의구심을 더욱 증폭시키는 요소가 되고 있다. 나우콤 측은 “개발을 위한 검토 단계에서부터 공공시장을 겨냥한 CC 평가준비를 해왔으며, 다년간 다수의 네트워크 보안제품으로 CC 평가를 받아온 경험을 기반으로 VoIP 보안기능에 대한 국내 첫 평가에도 유연하게 대응할 수 있었다”고 설명했지만, 통상 첫 번째 인증의 경우, 프로파일 생성 문제도 있어 이후의 평가보다 오랜 작업이 소요되는 것이 일반적이다.

따라서 VoIP IPS 관련 국내 첫 CC인증이었던 스나이퍼IPS V가 신속하게 인증을 획득할 수 있었던 배경은 CC인증평가가 ‘스나이퍼IPS’의 재평가 형태로 진행됐다는 것이 보다 더 본질적 요인으로 지적된다. 기존 CC인증을 획득한 스나이퍼IPS에 VoIP 보안 기능을 추가한 형태로 진행돼 신속하게 평가를 마칠 수 있었던 것. 이러한 재평가 형태의 CC인증은 일각에서 나우콤 스나이퍼IPS V에 대해 보내는 의구심에 기름을 붓는 결과가 되고 있다.

이에 대해 나우콤 측은 “VoIP에 특화된 엔진이 탑재됐다”며 “기존 IPS와 같다는 것은 억측”이라고 해명했다. 나우콤 측은 “패턴만으로는 구현할 수 없는 통화 상태의 실시간 모니터링 등 세밀한 기능이 스나이퍼IPS V에서 제공된다는 것은 VoIP를 위한 새로운 개발 엔진이 탑재된 증거”라면서 “스나이퍼IPS V에는 실시간 트래픽 흐름상에서 VoIP 트래픽을 분류해 송신자/발신자 ID와 상태에 대해 분석하는 엔진이 별도로 추가돼 기존 IPS 기능은 물론 VoIP 보안 기능까지 포괄적으로 제공하고 있다”고 덧붙였다.

이어 나우콤은 “단순 패턴에 의존하는 범용 IPS의 방어로는 정상 통화 차단 등 오탐에 의한 통화장애가 발생할 수 있는 한계가 있다”면서 “이것이 VoIP 프로토콜 분석 엔진이 탑재된 전용 IPS가 요구되는 이유”라고 주장했다.

VoIP IPS를 둘러싼 논란은 그만큼 VoIP 보안 시장이 각광받고 있다는 방증일 수 있다. 또 VoIP 보안에 대한 정석 빌드가 아직 나와 있지 않음을 의미하는 것으로도 볼 수 있다. VoIP 서비스와 아울러 VoIP 보안의 진화방향이 주목된다.

http://www.datanet.co.kr/special/special_view.asp?id=45912&acate1=2&acate2=1&page=1

[데이타넷]


이전 1 다음