제임스딘딘의
Tech & Life

수행 프로젝트 이력/참여자주도형 정보공유 시스템 [2011.12~2012.02]

자료조사(4) - VOIP 두번째

제임스-딘딘 2011. 11. 25. 11:56

개요

전화 산업은 가장 널리 퍼져 있는 기술입니다. 일반적인 전화기만큼이나 사람들에게 편안하고 친숙한 기술은 없습니다. 많은 기업체들이 사용자들에게서 그런 편안함과 친숙함을 빼앗지 않으면서도 음성(voice) 관련 비용을 줄일 수 있는 새로운 방법을 찾고 있습니다. 그러한 비용 절감은 데이터 네트워크와 음성(voice) 네트워크의 통합을 촉진시키고 있습니다. 데이터 네트워크와 음성(voice) 네트워크가 점점 더 많이 통합됨에 따라, 음성(voice) 네트워크의 품질과 신뢰도가 영향을 받지 않게 하려면 주의 깊게 설계하고 기획해야 합니다. 본 설명서에서는 패킷 텔레포니, 좀더 구체적으로 말하면 voice over IP를 가능하게 하는 여러 가지 기술에 대해 설명합니다. 설계와 관련된 문제들을 설명하고, voice, fax, H.323, voice over IP 등도 간단하게 다룹니다.

본 설명서는 음성(voice) 기술에 대한 전문적인 학습 자료가 아니라, 패킷 환경에서 사용되는 voice 기술에 대한 기본적인 이해를 돕기 위한 것입니다.

본 설명서에서 자주 사용되는 용어들

A-Law ─ 아날로그 신호와 디지털 신호 사이의 변환에서 사용되는 ITU-T 로가리즘 PCM (pulse code modulation) 표준 (G.711). 주로 유럽에서 사용됩니다.

Busy hour(폭주 시간대) ─ 통화량이 가장 많은 시간대. 전화 회사들이 네트워크를 특정한 용량으로 설계하는데 도움이 됩니다.

CoS(Class of service) ─ 다양한 종류의 트래픽 플로우를 하나의 범주로 분류하고 그 플로우에 대해 특정한 QoS(quality of service)를 적용하는 방식

CODEC(Coder-decoder) ─ 아날로그 음성을 디지털 비트 스트림으로 변환하고 디지털 비트 스트림을 아날로그 음성으로 변환합니다. 압축 유형(예를 들면, G.729 CODEC)을 가리키는데 사용할 수도 있습니다.

CRTP(Compressed Real-Time Transport Protocol) ─ RTP(Real-Time Transport Protocol) 헤더를 압축하는 표준. Delay (지연) - A 지점에서 B 지점까지 도달하는데 필요한 시간

DTMF(Dual tone multi frequency) 톤 감지 방식 ─ 다이얼링을 보다 쉽게 할 수 있도록 개발된 전자식 전화에서 사용하는 방식. 각 숫자는 여덟 가지 주파수에서 선택한 16 가지 사인파 쌍과 짝지어져 있습니다(예: 숫자 7은 852 Hz와 1209 Hz의 조합으로 정의됩니다)

Ear and mouth 또는 receive and transmit (E&M) ─ 사설 교환기(PBX) 사이의 트렁크 라인에서 일반적으로 사용되는 신호 처리 기법

Echo cancellation(에코 캔슬) ─ 에코를 라인에서 제거하는 프로세스. 에코는 일반적으로 전화망 배선의 임피던스 차이로 인해 발생합니다. 에코 캔슬러는 방금 보낸 음성의 샘플을 저장해 두었다가 그 음성이 뒤집혀서 반대 방향으로 되돌아오면 그 뒤집힌 신호에서 원래의 음성을 추출해 냅니다.

FXO(Foreign exchange office) ─ 일반적인 전화 송수화기를 흉내내는 인터페이스 (즉, 다이얼 톤을 보내 주는 다른 장치가 있어야 합니다)

FXS(Foreign exchange station) ─ PSTN (Public Switched Telephone Network)을 흉내내는 인터페이스. 일반 전화 송수화기로 다이얼 톤을 보내는 역할을 합니다.

Gatekeeper(게이트키퍼) ─ H.323 시스템의 옵션 장치. H.323 엔드포인트에 호출 제어 서비스를 제공합니다. 하나 이상의 게이트키퍼를 사용할 수 있습니다. 게이트키퍼 사이의 통신 방식은 지정되어 있지 않습니다. 게이트키퍼는 논리적으로는 엔드포인트에서 분리되어 있지만, 물리적으로는 터미널, MCU (multipoint conference unit), 게이트웨이, MC (multi point controller), 또는 그 외의 비 H.323 LAN 장치 등과 함께 설치됩니다.

Gateway(게이트웨이) ─ H.323 컨퍼런스의 옵션 요소. H.323 게이트웨이는 LAN 상의 H.323 터미널과 WAN 상의 다른 ITU 터미널 사이에서, 또는 다른 H.323 게이트웨이에 실시간 양방향 통신을 제공하는 LAN의 엔드포인트입니다. H.323 ─ 실시간 멀티미디어 애플리케이션을 위한 ITU-T 규격

Jitter(지터) ─ 패킷간 도착 시간의 편차

Latency(레이턴시) ─ 어떤 장치가 네트워크 액세스를 요청한 시점과 전송 허가를 받은 시점 사이의 시간. 레이턴시의 한 구성 요소. 종종 네트워크와 관련된 지연을 설명할 때 end-to-end 레이턴시가 사용됩니다.

MTU(Maximum transmission unit) ─ 특정 인터페이스가 전송하는 최대 패킷 크기. 바이트 단위로 표시됨.

MU-Law ─ (m law라고 표기하는 것이 올바름) 아날로그 신호와 디지털 신호 사이의 변환에서 사용되는 북미 로가리즘 PCM 표준 (ITU-T G.711에서 규정됨).

MCU(Multipoint control unit) ─ 셋 이상의 터미널과 게이트웨이가 멀티포인트 컨퍼런스에 참여할 수 있는 기능을 제공하는 LAN 상의 엔드포인트. 나중에 멀티포인트 컨퍼런스로 발전하게 되는 포인트-포인트 컨퍼런스의 두 터미널을 연결할 수도 있습니다. MCU는 일반적으로 H.231 MCU의 방식으로 작동하지만, 오디오 프로세서는 필수 요소는 아닙니다. MCU는 다음 두 부분으로 구성되어 있습니다.필수 요소인 멀티포인트 컨트롤러와 옵션 요소인 멀티포인트 프로세서(MP). 가장 단순한 경우, MP가 없이 MC로만 MCU를 구성할 수도 있습니다.

MC(Multipoint controller) ─ 멀티포인트 컨퍼런스에 참여하는 셋 이상의 터미널을 제어하는 LAN 상의 H.323 엔티티. 나중에 멀티포인트 컨퍼런스로 발전하게 되는 포인트-포인트 컨퍼런스의 두 터미널을 연결할 수도 있습니다. 공통 통신 레벨을 만들 수 있도록 모든 터미널에 대해 negotiation 기능을 제공하며, 누가 비디오를 멀티캐스팅하는가와 같은 컨퍼런스 리소스를 제어할 수도 있습니다. 오디오, 비디오, 데이터 등의 믹싱이나 스위칭을 하지 않습니다.

MP(Multipoint processor) ─ 멀티포인트 컨퍼런스에서 오디오, 비디오, 데이터스트림 등의 중앙 집중식 프로세싱 기능을 제공하는 LAN 상의 H.323 엔티티. MC의 제어를 받는 미디어 스트림에 대해 믹싱, 스위칭, 또는 그 외의 다른 프로세싱 기능을 제공합니다. 지원하는 컨퍼런스의 유형에 따라 단일 미디어 스트림이나 다중 미디어 스트림을 처리할 수 있습니다.

QoS(Quality of Service) ─ 특정한 응용 프로그램에 필요한 서비스 레벨을 가리키는 일반적인 용어

RAS(Registration/Admission/Status) ─ H.323 게이트키퍼와 게이트 사이의 통신을 위한 H.323 프로토콜

RTP(Real-Time Transport Protocol) ─ RFC 1889 - 스트림형 리얼타임 응용 프로그램을 위한 ITU-T H.323 규격의 일부

RSVP(Resource Reservation Protocol) ─ 특정한 트래픽 플로우에 대역폭과 레이턴시를 동적으로 할당하거나 보류할 수 있는 기능을 정의하는 프로토콜.

T.4 ─ 팩스 전송에서 페이지 이미지 데이터의 포맷 설정을 규정하는ITU-T 프로토콜

T.30 ─ 팩스 전송에서 capabilities negotiation 메시지와 같은 페이지 내용이 아닌 데이터의 포맷 설정을 규정하는 ITU-T Fax Session Control Protocol

T.120 ─ ITU-T H.323 규격에서, 데이터 공유 응용 프로그램(화이트보딩, 등)과 관련된 부분.

ToS(Type of Service) ─ IP 헤더에서 패킷의 서비스 레벨과 관련된 부분

VAD(Voice activity detection) ─ 음성(speech)와 사일런스(silence) 사이를 구분하는 기능. 패킷 방식 네트워크는 사일런스는 전송하지 않음으로써 VAD를 활용합니다.

Voice 기술 첫걸음

음성(voice) 기술을 사용한 지 벌써 백년이 넘었습니다. 처음으로 전화 통화를 한 이래로 음성 통신망은 많은 발전을 거듭했습니다. 현재 사용하는 많은 음성 통신 약어와 아키텍처는 이미 수십 년 전에 결정된 것들입니다. 표준 PSTN은 기본적으로 대형 회로 스위치형 네트워크입니다. 전화 통신망은 정말 연결되어 있지 않은 곳이 없습니다. 전화는 사용법이 간단하며, 의존할 수 있고, 생활 중에 깊숙히 스며들어 있습니다.

모든 대형 통신망이 마찬가지이지만, 번호 지정 방식은 가장 중요한 문제 중의 하나입니다. 북 아메리카에서는, NANP (North American Numbering Plan)가 사용됩니다. NANP는 지역 코드(area code), 전화국 코드(office code), 스테이션 코드로 구성되어 있습니다. 지역 코드는 지리적인 위치를 기준으로 지정되며, 전화국 코드는 특정한 교환기를 기준으로 할당되며, 스테이션 코드는 그 교환기의 특정한 한 부분을 가리키는 것입니다. 사용되는 포맷은 1Nxx-NXX-XXXX입니다. 여기서 N = 2 - 9이고 X = 0 - 9입니다. 이러한 번호 지정 방식은 일반적으로 국제 다이얼링 플랜을 다루는 ITU-T E.164 권고와 그 외의 다른 많은 권고에 일치합니다.

국제 호출 플랜의 경우, 각 국가에는 한 자리에서 세 자리까지의 국가 코드가 지정됩니다. 해당 국가의 다이얼링 플랜은 국가 코드 다음에 이어집니다.

음성(voice) 기술을 온전히 이해하려면, 아날로그/디지털 전송 및 신호 처리를 모두 이해해야 합니다. 사람의 말이나 귀에 들리는 모든 소리는 아날로그 형태로 되어 있습니다. 수십년 전까지는, 전화 통신망도 아날로그 인프라스트럭처에 기초해 있었습니다. 예를 들어, 초창기 아날로그 전화 통화의 구성 요소는 탄소 전화기, 배터리, 전자석, 그리고 진동판(irondiaphragm)이었습니다. 이러한 구성 요소들을 연결하면 음성을 전달하는 통로가 되었습니다. 사람들이 이야기를 나누는데 아날로그 통신이 이상적이기는 하지만, 아날로그 전송 방식은 견실하지도 않고 라인 노이즈에서 원음을 복구하는데 효율적이지도 않습니다. 아날로그 전송에서 증폭기를 통하여 신호를 증폭시켰던 초창기 전화 통신망에서는, 음성도 증폭되었지만 라인 노이즈도 함께 증폭 되었습니다. 이 라인 노이즈로 인하여 종종 연결 상태가 불안정해지곤 했습니다. 디지털 샘플은 1 비트와 제로 비트로 구성되어 있습니다.

디지털 샘플을 라인 노이즈에서 분리시키는 것은 훨씬 더 쉽습니다. 따라서, 신호를 재생할 때, 깨끗한 음을 그대로 유지시킬 수 있습니다. 이처럼 디지털 형태로 표현하는 것의 장점이 분명히 드러나자, 전화 통신망은 PCM (pulse code modulation)으로 발전하게 되었습니다. PCM은 아날로그 사운드를 초 당 8000 회 샘플링하여 각 샘플을 숫자 코드로 변환함으로써 아날로그 사운드를 디지털 형태로 변환합니다.Nyquist 공리에서는 원하는 최고 주파수의 두 배의 속도로 아날로그 신호를 샘플링하면, 그 신호를 다시 아날로그 형태로 정확하게 재구성할 수 있다고 설명합니다. 대부분의 음성 컨텐츠는 4000 Hz (4kHz) 이하이므로, 필요한 샘플링 속도는 초 당 8000 회(샘플링 사이 간격이 125 마이크로초)입니다. 샘플링된 파형은 개별적인 디지털 형태로 변환이 됩니다. 이 샘플은 샘플링을 한 순간의 파형의 진폭을 가리키는 코드로 표현이 됩니다. 전화 산업에서 PCM은 코드에 대해 8 비트를 사용하며 진폭이 낮은 신호에 더 많은 비트를 할당하는 알고리즘 압축 방식을 사용합니다. 전송 속도는 초당 8000 샘플 곱하기 샘플당 8 비트, 즉 초당 64,000 비트가 됩니다. 이것이 디지털 전화 통신에서 한 채널의 표준 전송 속도입니다

일반적으로 64-kbps PCM의 다음 두 가지 기본 변이형이 사용됩니다. 이 두 가지 방식은 모두 로가리즘 압축을 사용하여 8 비트로 12 비트에서 13 비트의 직선형 PCM 품질을 달성한다는 점에서 비슷하지만, 비교적 사소한 압축 세부 사항에서는 서로 차이가 있습니다. (mu-law가 로우 레벨 신호대 잡음비 성능에서 약간 더 낫습니다.) 그동안에는 국경선을 따라 사용하는 방식이 달랐습니다. 즉, 북 아메리카에서는 mu-law 변조 방식을 사용하고 유럽에서는 a-law 변조 방식을 사용했습니다. 장거리 전화를 할 때 mu-law와 a-law 사이의 변환을 하는데 필요한 것은 전부 mu-law를 사용하는 국가의 책임이라는 점에 반드시 유의해야 합니다.

종종 사용되는 또 다른 압축 방식은 ADPCM (adaptive differential pulse code modulation)입니다. 일반적으로 사용하는 ADPCM의 예로, ITU-T G.726은 4-비트 샘플을 사용하여 엔코딩을 하며, 전송 속도는 32kbps입니다.PCM과는 달리, 이 4 비트 방식은 음성의 진폭을 직접 엔코딩하는 것이 아니라 아주 초보적인 1차원적 예측 방식으로 진폭의 차이 그리고 진폭 변화율을 엔코딩합니다.

PCM과 ADPCM은 파형 자체의 중복적인 특성을 활용하는 “파형” CODEC (coder-decoders) 압축 기법의 예입니다. 음성 생성의 소스 특성에 대한 지식을 좀더 활용하는 새로운 압축 기법이 지난 10년에서 15년 동안 개발되었습니다. 이러한 기법은 원래의 음성 진동과 구강 형태을 단순하게 표현한 파라메트릭 정보만을 보내어 음성을 압축하는 신호 처리 기법을 사용합니다. 이렇게 하면 그 정보를 전송하는데 대역폭이 더 필요하게 됩니다. 이러한 기법들은 일반적으로 “소스” CODEC으로 함께 묶을 수 있으며, 그 중에는 LPC (linear predictive coding), CELP (code excited linear prediction), 및 MP-MLQ (multipulse, multilevelquantization) 등과 같은 변이형이 포함되어 있습니다.

CELP, MP-MLQ, PCM, 및 ADPCM 코딩 방식은 ITU-T의 G-시리즈 권고에 표준화되어 있습니다. 텔레포니와 packet voice에서 가장 많이 사용하는 음성 코딩 표준에는 다음이 포함되어 있습니다.

  • G.711: 앞에서 약술한 64-kbps PCM 음성 코딩 기법을 규정하는 것으로, G.711 방식으로 엔코딩된 음성은 이미 공공 전화망에서 또는 PBX를 통하여 디지털 음성을 전달할 수 있는 포맷으로 되어 있습니다.
  • G.726: 40, 32, 24, 26 kbps의 ADPCM 코딩을 규정하는 것으로, ADPCM 음성도 packet voice와 공공 전화망이나 PBX 망 사이에서 서로 교환할 수 있습니다. 다만, 공공 전화망이나 PBX 망에 ADPCM 처리 기능이 있어야 합니다.
  • G.728: CELP 음성 압축 방식의 16-kbps 저-지연 변이형을 규정하는 것입니다. CELP 음성 코딩은 전화 통신망으로 또는 전화 통신망을 통하여 전달할 수 있도록 공공 텔레포니 포맷으로 코드 변환이 되어야 합니다.
  • G.729: 음성을 8-kbps 스트림으로 코딩할 수 있는 CELP 압축을 규정하는 것입니다. 이 표준의 두 가지 변이형(G.729와 G.729 Annex A)은 계산의 복잡성에서 크게 다르지만, 두 가지 모두 일반적으로 32-kbps ADPCM과 같은 수준의 음성 품질을 제공합니다.
  • G.723.1: 전체적인 H.324 계열 표준의 일부로서, 아주 낮은 비트 속도로 멀티미디어 서비스의 음성이나 다른 오디오 신호 요소들을 압축하는데 사용할 수 있는 압축 기법을 규정하는 것입니다. 이 종류의 코더에는 5.3 kbps와 6.3 kbps의 두 가지 비트 속도가 관련되어 있습니다. 6.3 kpbs의 비트 속도는 MP-MLP 기술에 기초한 것으로 품질이 더 뛰어나며, 5.3 kbps의 비트 속도는 CELP에 기초한 것으로, 품질이 양호하며 시스템 설계자들이 좀더 유연하게 설계할 수 있습니다.
CODEC이 주관적으로 튜닝이 된 압축 기법에 점점 더 의존하게 됨에 따라, 총 고조파 왜곡이나 신호대 잡음비와 같은 표준 지향적인 품질 측정값은 인식된 CODEC 품질과 상관 관계를 덜 가지게 됩니다. 음성 CODEC의 성능을 수량화할 수 있는 일반적인 벤치마크는 MOS (mean opinion score)입니다. 보이스 품질과 사운드는 일반적으로 청취자에 따라 기준이 달라지기 마련이므로, 광범위한 청취자와 샘플 재료를 구하는 것이 중요합니다. MOS 테스트는 각 음성 재료 샘플에 대해 1(나쁨)에서 5(우수함)까지의 등급을 매기는 청취자 그룹을 대상으로 시행됩니다. 그 다음에 그 점수의 평균을 내어 MOS 점수를 구합니다. MOS 테스트 방식은 특정한 CODEC이 다양한 배경 소음 수준과 반복적인 엔코딩과 디코딩 등과 같은 다양한 상황에서 얼마나 잘 작동하는지를 비교하는데 사용할 수도 있습니다. 그 다음에 이 데이터를 사용하여 다른 CODEC와 비교할 수 있습니다.

여러 ITU-T CODEC의 MOS 점수를 정리한 것이 표 1입니다. 표 1은 여러 대의 낮은 비트 속도의 코더와 표준 PCM 사이의 관계를 보여줍니다.

표 1 압축 방식 및 해당 MOS 점수
 
압축 방식  비트 속도(kbps)  프로세싱1(mips)  프레임 크기(단위) MOS 점수
G.711PCM  64  0.34 0.125  4.1 
G.726PCM  32  14 0.125  3.85
G.728 LD-CELP  16  33 0.625  3.61 
G.729 CS-ACELP  20  10 3.92
G.729x2 Encoding  8 20 10  3.27
G.729x3 Encoding  8 20  10  2.68
G.729a CS-ACELP  10.5  10  3.7
G.723.1 MP-MLQ  6.3 16  30  3.9 
G.723.1 ACELP  5.3  16  30  3.65

1. Texas Instruments 54 x DSPs를 위해 주어진 Mips 프로세싱 파워

요즘의 toll-quality 네트워크를 유지하는데 필요한 인프라스트럭처를 만들어서 관리하는 비용을 감안하면, 모든 통화를 낮은 비트 속도의 코더로 변환하여 인프라스턱처 비용을 절감하는 것이 더 쉽고 저렴해 보입니다. 하지만, 음성을 압축하는데는 단점이 있습니다. 표 1에 나오는 것처럼, 한 가지 주된 단점은 여러 번 코딩하고 디코딩하는 것으로 인한 신호 왜곡(탠덤 엔코딩(tandem encodings)이라고도 함)입니다. G.729 음성 신호를 여러 번 압축하는 경우, 탠덤 엔코딩을 세 번 하면, 그 신호는 MOS 3.92 (아주 좋음)에서 2.68 (정상적으로 사용할 수 없음)로 품질이 저하됩니다.

어떻게 낮은 비트 비율 코덱(예: G.726)으로 높은 MOS가 얻어지는지를 이해하려면 이 코덱이 어떻게 작동하는지를 알아야 합니다. 음성 패턴에 대한 연구는 음성 통화의 상당한 부분이 사일런트(silent) 상태이며, 음성이 튀어나오는 나머지 부분도 서로 상관 관계가 상당히 높으며 반복이 된다는 점을 보여 주었습니다. 이 연구를 이해하면 수학적인 모델을 사용하여 이전의 음성 샘플을 기초로 음성에서 나오는 다음 소리를 예측하는 방법으로 음성 패턴을 활용할 수 있습니다. 그리고, 코더 측과 디코더 측 모두에서 동일한 예측기 모델을 사용하면, 전송해야 하는 정보는 예측한 것과 실제로 음성에 포함된 것 사이의 차이 부분 뿐입니다. 32 kbps를 사용하는 G.726 (ADPCM)는 종종 toll quality 64-kbps PCM만큼이나 양호한 것으로 인정됩니다. 이런 종류의 코더를 사용하면, 4-kHz 음성 대역폭 내의 모든 신호는 디지털 신호로 변환하여 전송할 수 있습니다. 불행하게도, ADPCM에서 보다 낮은 비트 속도 (24, 16 kbps)를 사용하면 MOS 점수가 상당히 떨어지게 됩니다.

G.729나 G723.1에서처럼 더 낮은 비트 속도의 CODEC (아주 낮은 비트 속도의 코더로 알려져 있음) 정도로 점수가 떨어져도 사용할 만한 음성 품질을 유지하려면, “파형”, 즉 PCM 코딩을 포기해야 합니다. 프로세싱 성능 (digital signal processor [DSP])와 비용 (millions of intructions per second [mips])의 발전과 음성(voice) 기술 분야의 발전 덕분에 대규모 압축 음성(speech) 사용이 실현되었습니다. LPC나 다른 하이브리드 코더의 가장 흥미진진한 사실 중의 하나는 네트워크를 통하여 전송되는 것은 실제 음성이 아니라는 사실입니다. LPC는 성도(성대와 허파)를 신디사이즈하고 필터는 다른 요소들(입, 혀, 입술, 등)을 신디사이즈합니다. 소리나 진동은 필터로 보내져서, 합성된 음성이 되어 나옵니다. 이 시나리오는 PCM에 비해 필요한 비트 수에 있어서 크게 향상되었습니다. 예를 들어, LPC는 매 20 밀리초 단위로 합성, 즉 샘플링되는데, 이것은 동일한 20 밀리초 동안 160회 샘플링하는 PCM과 비교가 됩니다. 그렇기 때문에 동일한 시간에 LPC는 초 당 40 비트를 전송하는데 반해 표준형 PCM 코더는 초 당 1280 비트를 전송합니다. CELP와 같은 하이브리드 코더는 LPC 기술을 기초로 구축되었지만, 제 1세대 LPC 보코더에서 많은 로봇형 특성을 제거한 향상된 음성 분석 및 합성 기법을 추가한 것입니다. 하이브리드 코더에는 보다 복잡한 신디사이저가 필요했습니다. 이러한 신디사이저에는 일반적으로 매 20 밀리초 마다 갱신되는 8 내지 10 개의 주요 매개 변수들이 있습니다. 음성에 맞춘 최적 품질을 만들기 때문에, CELP는 music-on-hold와 같은 비 음성형 신호 전송에서는 상당히 품질이 저하됩니다.

이러한 새로운 코더에서는 설계 면에서 몇 가지 타협이 이루어졌습니다. 탠덤 엔코딩에 대해서는 이미 설명했지만, 코더 지연, 대역폭/품질 손실, 에코, 총 end-to-end 지연 등과 같은 아주 낮은 비트 속도의 코더를 중심으로 전개된 몇 가지 문제들에 대해서도 설명할 필요가 있습니다.

비록 8kbps로 음성 패킷을 압축하는 것이 이상적이지만, 이러한 대역폭을 위해서는 품질을 양보해야 합니다. 설계 기준에서 가장 중요한 것 중의 하나는 총 단방향 end-to-end 지연을 최소화시키는 것입니다. 이러한 총 지연은 150 밀리초에서 200 밀리초 이내이면 무난한 것으로 나타났습니다. 이 총 지연에는 CODEC에 의해 유발된 지연과 네트워크, 광속, 및 그 외의 요소들이 포함됩니다. 특정한 고객에게는 다소간에 약간의 지연이 필요하겠지만, 네트워크 지연은 어떻게든 처리가 가능한 것이며 CODEC에 의해 유발된 지연은 비교적 일정하다는 점을 이해할 필요가 있습니다.

지연(Delay)

요즘의 텔레포니 네트워크에는 본질적으로 다음 두 가지 종류의 지연이 존재합니다. 전달 지연(propagation delay)과 처리 지연(handling delay)입니다. 전달 지연은 광섬유나 구리를 사용하는 네트워크에서 광속에 의해 발생하는 지연입니다. 처리 지연은 일련화 지연(serialization delay)이라고도 하는데, 음성 경로를 따라 음성 정보를 처리하는 장치들에 의해 발생합니다.

진공 상태에서 광속은 초당 186,000 마일이며, 전자는 구리선에서 초당 100,000 마일을 이동합니다. 광섬유망을 따라 지구를 절반 정도(13,000 마일) 돌면 약 70 밀리초의 단방향 지연이 발생합니다. 이러한 지연을 인간의 귀로는 거의 인식할 수 없지만, 처리 지연이 전달 지연과 결합이 되면 음성 품질이 저하되는 것을 느낄 수 있게 됩니다. 처리 지연은 기존의 전화 통신망에도 영향을 줄 수 있지만, 패킷 방식 환경에서 더 큰 문제가 됩니다. 다음은 여러 가지 처리 지연, 및 그러한 처리 지연이 음성 품질에 어떤 영향을 주는가에 대한 해설입니다.

G.729에는 약 20 밀리초의 알고리즘상의 지연이 존재합니다. Cisco IOS ?voice over IP 제품에서, DSP는 매 10 밀리초마다 하나의 프레임을 생성합니다. 그 다음에 이러한 음성 프레임 중의 두 개를 하나의 패킷에 넣습니다. 따라서, 패킷 지연은 20 밀리초입니다. 하나의 패킷으로 몇 개의 프레임을 보낼 것인가는 벤더가 결정합니다. Cisco는 라우터 오버헤드를 줄이기 위하여 패킷 변환을 가능한한 DSP가 많이 담당하게 하였습니다. 예를 들어, RTP (Real-Time Transport Protocol) 헤더는 DSP에서 프레임에 들어가기 때문에 라우터가 그 일을 할 필요가 없습니다.

패킷 방식 네트워크에는 지연이 발생하는 다음과 같은 다른 요인들이 있습니다. 실제 패킷을 아웃풋 대기열로 옮기는데 필요한 시간, 및 대기열 지연. Cisco IOS 소프트웨어는 패킷을 옮기고 도착지를 결정하는 일을 상당히 잘 합니다. (다른 패킷 방식 솔루션 [PC 방식, 등]은 패킷 도착지를 결정하는 일이나 실제 패킷을 아웃풋 대기열로 옮기는 일을 잘 하지 못하기 때문에 이 점을 언급하는 것입니다.) 아웃풋 대기열의 실제 대기열 지연은 또 다른 지원 원인입니다. 가능하다면 그 네트워크에 가장 말맞는 대기열 처리 방식을 사용하여 이 요소를 10 밀리초 이하로 유지시켜야 합니다. 이 문제는 Quality of Service 항목에서 보다 자세히 설명합니다. 표 2는 다양한 종류의 CODEC에 의해 다양한 크기의 지연이 발생하는 것을 보여줍니다. 표 2 CODEC에서는 CODEC에 따라 지연의 양이 달라지는 것을 보여주고 있습니다.

표 2. CODEC에서 발생하는 지연
 
압축 방식  비트 속도 (kbps) 압축 지연 (ms)
G.711ADPCM  64  0.75
G.726PCM  32 1
G.728 LD-CELP  16  3-5
G.729 CS-ACELP  10
G.729a CS-ACELP  10
G.723.1 MP-MLQ  6.3  30 
G.723.1 ACELP  5.3  3

두 가지 다른 요소들도 지연에 영향을 줍니다. 절대 지연은 전화 통화의 기본 흐름에 간섭을 일으킬 수 있고, 지연 편차, 즉 지터도 음성 품질에 영향을 줍니다. 절대 지연은 전화 통화의 리듬, 즉 흐름에 중단을 일으킬 수 있으며, 그 지연이 크면 그 전화 통화가 CB와 비슷하게 됩니다.

즉 통화자들이 서로 번갈아가면서 이야기를 하고 한 통화자가 말이 끝나면 그냥 가만히 있는 것이 아니라 그에 해당하는 키워드를 붙이는 방식이 될 것입니다. 지터는 예정된 패킷 수신과 실제 패킷 수신 사이의 편차입니다. 음성 장치들은 음성을 자연스럽게 재생시켜주는 플레이아웃 버퍼를 설정하여 지터를 보정하고 음성 흐름이 끊어지지 않게 해야 합니다.

사용자의 입장에서 보면, 플레이아웃 제어를 설정하는 것은 상당히 간단합니다. RTP 캡슐화의 경우, adaptive(기본 설정) 플레이아웃 지연 모드를 선택할 수 있습니다. 명목 지연(nominal delay)이라고 하는 초기값을 (기본값은 60 msec) 지정해야 합니다. 최대 지연도 지정해야 합니다 (이 시나리오에서는 기본값을 200 msec로 하면 지리적인 연결 장치에서 G.729의 end-to-end 지연이 300 msec 이하가 되게 합니다. 300 msec 이하는 중요한 기준값입니다). 그렇게 하여 adaptive 플레이아웃 지연은 다음 두 가지 이유에서 이 값으로 한계를 정합니다. 첫번째로, 최대 지연은 지터 버퍼에 할당된 DSP 메모리 자원에 의해 제한을 받습니다. 현재의 펌웨어 릴리스에서, 이 메모리 자원은 64,000 CODEC의 경우 200 msec이고, 8000 CODEC의 경우 1360 msec입니다. 두번째로, 이 지연에서는 이 컴포넌트의 상한값을 설정할 수 있습니다. 많은 경우, 이 상한값은 end-to-end 지연의 주요 요인입니다. 많은 애플리케이션에서 임의의 큰 지연을 허용하는 것보다는 시스템이나 사용자가 통화를 종료하게 하는 것이 더 바람직합니다. 이 한계값 이상으로 지터에 수신된 데이터는 플레이아웃 통계에 버퍼 오버플로로 나타날 것입니다. 이상적인 값은 제로입니다. 이것은 설계 매개 변수이며, 현재는 2 msec로 설정되어 있습니다.

수신 지연(receive delay)은 지터 보정을 위한 플레이아웃 지연 및 플레이아웃 버퍼에서 프레임을 디코더로 보낸 후의 평균 예정 지연으로 구성됩니다. PCM과 ADPCM CODEC의 경우 5 msec로 설정하고 G.729 CODEC의 경우 10 msec로 설정하십시오. 엔드포인트에서 양쪽 끝에 있는 CODEC까지의 지연, 엔코더 지연, 패킷화 지연, 네트워크 지연의 일정 부분 등을 추가하면, 해당 연결의 end-to-end 지연이 나옵니다. 엔코더 지연에는 5 msec의 VAD (voice activity detection) 지연과 에코 취소를 위한 처리 시간이 포함됩니다. end-to-end 신호/데이터 경로, CODEC, 페이로드 크기 등을 알고 있다면 end-to-end 지연의 이러한 다른 구성 요소들을 올바로 추정하는 것은 어렵지 않다는 점에 유의해야 합니다. 예를 들어, 네트워크 지연의 고정 부분과 엔드포인트 연결 지연이 거의 제로에 가까운 acampus 네트워크의 경우, G.729 CODEC와 20 바이트의 페이로드 크기 (각각 10 msec인 두 프레임)를 사용하는 voice over IP 통화에서는 20 msec의 엔코더 지연과 20 msec의 패킷화 지연(두번째 프레임을 대기하는 지연)이 생기게 됩니다. 그렇기 때문에 수신 지연에 40 msec를 추가하면 end-to-end 지연의 상당히 정확한 추정값이 나옵니다. 이 예제에서, 경쟁하는 데이터 트래픽이 없다면, end-to-end 지연의 평균값은 대략 50 msec이고 범위는 45 msec에서 55 msec까지가 됩니다. 수신 지연의 경우, current, low-water mark, high-water mark 등의 통계값을 사용할 수 있습니다.

현재의 플레이아웃 지연의 time 창 내에서 데이터가 수신되지 않거나 데이터가 사라진다면, 이 시나리오에서는 플레이아웃 오류가 발생합니다. 사라진 데이터는 두 가지 유형의 오류, 즉 토크 스퍼트(talk spurt) 중간에 프레임이 사라지는 오류와 토크 스퍼트(talk spurt) 끝 무렵에 미스큐가 발생하는 오류의 원인이 됩니다. 사라진 데이터의 연속적인 지속 기간에 따라 다르지만, 사라진 프레임은 지나간 프레임들(보통 가장 마지막 프레임만)에서 예측한 값으로 대치되며, 같은 상황이 (예를 들면, 30 msec에서 50 msec 이상 동안) 지속되면 사일런스(silence)가 뒤에 붙여집니다. 이 시나리오를 은폐(concealment)라고 합니다. 버퍼 오버플로와 은폐(concealment) 통계값을 구할 수 있으며, 그러한 통계값은 오디오 품질에 미치는 네트워크의 영향을 잘 보여줍니다.

플레이아웃 조정

플레이아웃 지연 조정과 다양한 통계값의 세부 사항을 소스 코드와 다음 참조 자료들에서 찾을 수 있습니다. 다음은 플레이아웃 지연 조정에 대한 간단한 해설입니다.

수신되는 패킷의 지연은 레퍼런스 지연을 기준으로 측정이 되며, 레퍼런스 지연은 가장 최근에 지나간 time 창 내의 최소 지연 패킷과 같습니다. 그런 패킷이 수신되면 가중치는 그에 비례하여 줄어듭니다. 이렇게 되는 이유는 500 패킷이나 1000 패킷 이전과 같이 오래 전에 발생한 절대 최소값으로 잠금 상태가 되는 것을 방지하기 위한 것입니다. 실제로는, 1000 패킷 이내의 좁은 최소 지연 내에 다수의 패킷이 수신됩니다. 수신 패킷에 현재의 레퍼런스보다 더 낮은 지연이 있고 패킷이 차례대로 도착이 되면, 레퍼런스 지연이 초기화됩니다

임의의 주어진 인스턴스에는 지터 버퍼의 실제 깊이인 변수(delay_Now)가 존재하며, 새로운 패킷이 도착하면 갱신되는 또 다른 변수 (delay_update)도 존재합니다. 이 시나리오에서는 지터 버퍼의 깊이가 시간이 경과함에 따라 원하는 방식으로 조절이 됩니다. 대부분의 경우 변수(delay_Now)는 토크 스퍼트(talk spurt)를 시작할 때 delay_update로 설정됩니다. 이 조절은 delay_update가 25 퍼센트 이상의 delay_Now에 의해 off 상태가 될 때에도 발생합니다. 바로 이 점이 VAD가 작동하지 않는 경우 뿐만 아니라 지터 특성이 급격하게 바뀌는 경우를 설명해 주는 것입니다. delay_Now가 delay_update에서 너무 많이 벗어나는 것도 바람직하지 않습니다.

수신되는 패킷의 지연이 delay_update의 50 퍼센트에서 75 퍼센트까지라면, 갱신할 필요가 없습니다. 이런 상황이 상당히 오래 지속된다면, 그 지연이 이 범위를 벗어나도록 레퍼런스 지연이 조절되며, delay_update는 새로운 값으로 고정이 될 때까지 조절이 될 것입니다. 단, delay_update가 최소 플레이아웃 지연과 동일한 경우는 예외입니다. 따라서, 조정이 발생하지 않는 것이 확실한 유일한 조건은 지터가 최소 플레이아웃 지연보다 작은 경우 뿐입니다.

Delay_update는 75 퍼센트에서 100 퍼센트의 지연 범위에서는 delay_update의 1/64의 비율로 상향 증가되며 100 퍼센트를 초과하는 지연의 경우에는 25 퍼센트의 아주 빠른 속도로 상향 증가됩니다. 현재의 지터 버퍼 깊이를 벗어나는 패킷의 수가 거의 없는 것 (대부분의 네트워크 변이형의 경우 1 퍼센트 미만)이 바람직하므로 상향 조정은 매우 공격적이라는 점은 분명합니다.

delay_update의 상향 조정은 최대 플레이아웃 지연에 의해 제한이 됩니다. delay_update의 하향 조정은 delay_update의 50 퍼센트 이항의 지연에 대해 이루어지며, 상향 조정에 비해 훨씬 더 느립니다. 시간 상수(time constant)는 200 패킷에서 300 패킷까지입니다. 이 시간 상수(time constant)는 20-msec 패킷 지속 기간의 경우 4 초에서 6초까지로 해석이 되며, 20-msec 패킷의 경우에는 대략 750 패킷, 즉 15 초로 해석이 되어, 네트워크 지터가 패킷 지속 기간 이하가 되면 최대 지연에서 최소 지연까지 충분히 수렴합니다. 예를 들어, 네트워크 트래픽이 없는 경우 100 msec의 초기 지연 (nominal_delay)에서 2 msec의 최소 지연까지 수렴하는데는 대략 여섯 링 사이클 (대략 15 sec의 active audio)이 걸립니다. 수렴의 비례증가형 특성 때문에, 훨씬 더 높은 값에서부터 수렴하는데 훨씬 더 오래 걸리지는 않습니다.

에코

기존의 장거리 전화망에서는, 일반적으로 에코가 4-선 네트워크 스위치에서 2-선 로컬 루프로 변환할 때의 임피던스 차이로 인해 발생합니다. 이야기를 할 때 수화기를 통해 자기 목소리를 듣는 것은 정상적이며 말하는 사람에게 안정감을 줍니다. 하지만, ~25 밀리초 이상 수화기에서 자기 목소리가 들리면 방해가 되며 대화를 멈추게 만들 수 있습니다. 일반적인 PSTN (Public Switched Telephone Network) 네트워크에서 에코는 에코 캔슬러로 제어하며 일반적인 반향점에서는 임피던스 차이를 철저하게 제어합니다. 요즘의 패킷 방식 네트워크에서, 에코 캔슬러는 낮은 비트 속도의 CODEC에 내장되며 각 DSP를 대상으로 작동이 됩니다. 에코 캔슬러가 작동하는 방식을 이해하려면, 에코가 어디에서 생기는지 먼저 이해해야 합니다.

예를 들어, 사용자 A가 사용자 B에게 이야기를 한다고 합시다. 사용자 A가 사용자 B에게 하는 말을 G라고 할 때, G에서 임피던스 차이가 발생하거나 기타 에코를 일으키는 환경이 되면, G는 사용자 A에게로 되돌아갑니다. 그러면 사용자 A는 실제로 말한지 몇 밀리초 후에 그 지연된 부분을 듣게 됩니다. 라인에서 에코를 없애기 위하여, 사용자 A가 통화를 하는 장치 (라우터 A)는 일정한 시간 동안 사용자 A의 음성의 인버스 이미지를 보관합니다. 이 인버스 이미지를 인버스 스피치(inverse speech), -G라고 합니다. 이 에코 캔슬러는 사용자 B에게서 수신되는 소리를 잘 듣고 인버스 스피치 -G를 제거하여 에코를 없앱니다.

에코 캔슬러는 설계에 따라 소외 에코 트레일이라고 하는 반사된 음성이 수신되는 것을 기다리는 총 시간에 의해 제한을 받습니다. 에코 트레일은 보통 32ms입니다. Cisco에는 16ms, 24ms, 32ms의 설정할 수 있는 에코 트레일이 있습니다.

신호 처리

요즘의 원격 통신 네트워크에서는 다양한 종류의 인-밴드(in-band) 신호 처리 방식과 아웃-오브-밴드(out-of-band) 신호 처리 방식이 사용됩니다. 일반적인 인-밴드 신호 처리 방식은 단일 주파수 톤이나 다중 주파수 톤을 사용하는 것입니다. 일반적인 아웃-오브-밴드(out-of-band) 신호 처리 방식은 호출 셋업을 위하여 D 채널을 사용하는 ISDN (Integrated Services Digital Network)입니다. 아웃-오브-밴드(out-of-band) 신호 처리란 정확하게 말해서 음성 대역폭을 벗어나는 신호 처리에 대해 별도의 채널을 사용하는 것입니다

또 다른 형태의 신호 처리 방식은 라인이 오프 후크 상태인지 온 후크 상태인지 판단한는 것입니다. 이렇게 하려면 일정한 수준의 서비스(즉, 다이얼 톤)이 필요합니다. 다음 두 가지 일반적인 방법은 사용자나 주거지를 기준으로 이 기본 신호를 제공합니다.

루프 스타트(loop start)와 그라운드 스타트(ground start). 루프 스타트는 현재까지는 일반적인 PSTN 엔드 루프 네트워크에서 신호 처리를 하는 가장 일반적인 기법입니다. 수화기를 들면, 전화 회사의 CO (central office)에서 전류를 끌어오는 회로가 닫히면서 상태 변화를 알려줍니다. 이러한 상태 변화는 일반적으로 CO에 다이얼 톤을 보내라는 신호 역할도 합니다. CO에서 수화기로 보내는 수신 호출 신호는 90 VAC에서 20-Hz나 25-Hz (북아메리카에서는 20 Hz이고 유럽에서는 25 Hz나 50 Hz) 신호를 일반적인 on/off 패턴으로 보내어 전화벨이 울리게 하는 방식으로 이루어집니다.

그라운드 스타트(ground start)는 온 후크나 오프 후크 신호를 CO나 다른 연결된 전화 장치(즉, privat branch exchange [PBX], 키 시스템)로 보내는 또 다른 신호 방식입니다. 그라운드 스타트(ground start)는 일반적으로 PBX 사이의 트렁크나 타이 라인에서 사용됩니다. 그라운드 스타트 방식 신호 처리는 접지 감지기와 전류 감지기를 사용합니다. 이 방식을 사용하면 네트워크가 호출음 신호에 관계없이 수신 호출의 오프 후크(seizure)를 표시할 수 있습니다.

자신의 환경에서 어느 신호 처리 방식이 가장 좋은지 판단하려면, 각 신호 처리 방식의 본질적인 caveat를 살펴 보아야 합니다. 이러한 신호 처리 방식들이 처리하려고 하는 문제는 소위 글래어(glare)라고 하는 것입니다. 이것은 양쪽 끝이 동시에 라인을 차지하려고 하는 상황을 가리킵니다. CO 장비의 구형 루프 스타트 인터페이스들은 모든 포트에서의 공통적인 cadence로 공통적인 호출음 생성기를 공유하는데 사용됩니다. cadence의 off 부분에서 포트를 선택했다면, 그 라인은 유휴 상태이고, 호출은 최대 2초 동안 대기할 것입니다. 그 2-초 동안, 다른쪽 끝은 인바운드 호출이 있음을 알지 못하고 호출을 하려고 시도했을 수도 있습니다.

그라운드 스타트는 CO (foreign exchange station [FXS]) 측에서 customer premises equipment (CPE) (foreign exchange office [FXO] PBX, KEY, 공중 전화 등)로 상대측의 연결 차단 상태를 명확하게 표시하여 글래어를 최소로 줄이기 위한 방식입니다.

요즘의 루프 스타트 라인은 calling party control (CPC)의 형태로 상대측 연결 차단 기능을 제공합니다. 이것을 이용하면 라인의 CO 측이 순간적으로 인터페이스의 전원을 차단하여 상대측이 호출을 종료시켰음을 표시할 수 있습니다. 루프 스타트에서도 “점유시 호출음(ringing on seize)” 기능으로 글래어를 최소로 줄일 수 있습니다

시스코의voice 시스템은 루프 스타트 모드에서 FXS 인터페이스에 CPC와 ringing on seize 기능을 제공합니다. 일반 사용자(FXO) 장비가 루프 스타트 모드에서 CPC를 지원하면, Cisco는 루프 스타트 모드를 사용할 것을 권합니다. 루프 스타트 모드 인터페이스가 공급하기 더 쉽(고 일반적으로 더 저렴)하기 때문입니다. 또한, 루프 스타트는 라인 극성에 민감하지 않은데 반해, 그라운드 스타트는 민감합니다. 설치할 때 그라운드 스타트 라인은 잘못 설치하기 훨씬 더 쉽고 바로잡기도 더 어렵습니다.

PBX나 다른 네트워크 간 텔레포니 스위치 (Lucent 5 ElectronicSwitching System [5ESS], Nortel DMS-100, 등등.) 사이에서 주로 사용되는 또 다른 신호 처리 기법은 E&M이라고 합니다. E&M은 일반적으로 ear and mouth나 receive and transmit를 가리킵니다. 다섯 가지 E&M 신호 처리 유형과 두 가지 배선 방식 (2-선 방식과 4-선 방식)이 있습니다. 표 3은 여러 가지 E&M 신호 처리 유형이 비슷하다는 점을 보여줍니다.

표 3 E&M 신호 처리
 
E&M 리드 신호 처리
유형 M 리드 E 리드 
오프 후크 온 후크  오프 후크  온 후크
배터리  접지  접지  개방
II 배터리  개방 접지  개방
III 루프 전류 접지  접지  개방
IV 접지  개방 접지  개방
V 접지  개방 접지  개방
SSDC5  접지 온  접지 오프 접지 온  접지 오프 

미국에서는 Type I과 Type II가 가장 일반적인 E&M 신호 처리 방식입니다. Type V는 미국에서 사용되며, 유럽에서 매우 일반적입니다. type V와 비슷한 SSDC5A는 온 후크 상태와 오프 후크 상태가 역방향이어서 fail-safe 동작이 가능하다는 점에서 다릅니다. 라인이 차단되면, 인터페이스는 기본적으로 오프 후크(통화중) 상태가 됩니다. 모든 유형 중에서, type II와 V만이 대칭이 됩니다(크로스오버 케이블로 직접 연결할 수 있습니다). SSDC5는 영국에서 가장 많이 볼 수 있습니다. Cisco 2600/3600 시리즈는 현재 2-선 시스템과 4-선 시스템을 활용하여 type I, II, III, V를 지원합니다.

E&M 배선도는 부록 A를 참조하십시오. 종종 사용되는 다른 신호 처리 기법은 delay, immediate, wink start 등입니다.Wink start는 발신 장치가 다이얼된 숫자를 보내기 전에 호출 대상 스위치에서 보내는 신호를 대기하는 인-밴드(in-band) 기법입니다. Wink start는 일반적으로 ISDN이나 Signaling System 7 (SS7)와 같은 메시지 중심 신호 처리 방식으로 제어되는 트렁크에서는 사용하지 않습니다.

팩스 첫걸음

패킷 방식 네트워크를 통한 팩스 전송을 설명하기 전에, 먼저 요즘의 PSTN을 통하여 팩스가 사용되는 방식을 설명해야 합니다. 요즘 흔히 사용되는 팩스 장치는 ITU 권고 T.30 프로토콜과 T.4 프로토콜을 구현한 것입니다. T.30 프로토콜은 capabilities negotiation을 위하여 사용되는 메시지와 같은 비 페이지 데이터의 포맷 설정을 규정합니다. T.4 프로토콜은 페이지 이미지 데이터의 포맷 설정을 규정합니다.

Fax over IP

Fax over IP 또는 다른 패킷화된 수단은 단순히 보다 유연성이 있는 방식으로 가용 대역폭을 활용하는 한 가지 방법일 뿐입니다. 이것은 실시간 팩스나 스토-앤-포워드 방식 팩스를 사용하는 방식입니다.

요즘의 PSTN에서, 팩스 장치는 전송(T.30 엔진)을 완벽하게 동기화시키고 페이지 단위로 negotiation합니다. 패킷 방식 네트워크에서 실시간 팩스를 사용하는 경우, T.30 엔진은 Cisco 라우터에 의해 분리되고 복조됩니다. Cisco 라우터는 팩스 장치를 속이고 패킷 방식 네트워크에 수반되는 지연을 허용할 수 있습니다.

패킷 방식 네트워크를 통한 팩스 전송에 대한 더 자세한 내용은, 부록 B를 참조하십시오. 다른 한 가지 팩스 전송 방식은 저장 후 전송(store-and-forward) 팩스라고 합니다. 이 기술은 패킷 방식 네트워크에서 피할 수 없는 대부분의 문제들을 처리할 수 있습니다. 이 솔루션을 구현하려면, 고객이 사용하는 특정한 방식에 따라 몇 초에서 몇 시간까지 팩스 지연을 받아들일 수 있어야 합니다.

팩스 전송 사용자들은 일반적으로 전송을 수신할 때 몇 분 정도의 지연을 느끼지 못합니다. 저장 후 전송 방식 팩스에서는 팩스 전송 내용을 저장했다가 일괄적으로 패킷 방식 네트워크를 통하여 전송할 수 있습니다. 이 방식에서는 PSTN 이용료를 내지 않을 수 있으며, 가장 비용이 적게 드는 팩스 라우팅 경로를 사용하여 팩스를 전송할 수 있습니다. 또한 팩스를 저장했다가 특정한 국가나 지방의 시외 통화 요금이 좀더 유리할 때 전송할 수도 있습니다. 이런 구성에서는 Cisco 라우터가 팩스를 속일 필요가 없기 때문에 팩스 기기에서 발생하는 문제가 줄어듭니다.

그림 1은 텍사스 주의 오스틴에서 런던 근처의 한 장소로 팩스를 전송하는 것을 보여줍니다. PBX는 패킷 방식 게이트웨이를 통하여 오스틴에 있는 팩스 게이트웨이로 팩스 전송물을 라우팅합니다. 팩스 게이트웨이는 그 팩스 전송에 응답한 후에 팩스를 저장합니다. 팩스 게이트웨이의 Least-Cost Routing 알고리즘은 팩스 게이트웨이에게 런던 팩스 게이트웨이로 보통 일반적인 네트워크 트래픽이 줄어드는 두 시간 뒤에 Simple Mail Transfer Protocol (SMTP) 전송을 보내라고 지시합니다. 런던의 팩스 게이트웨이는 SMTP 전송을 수신하면 Least-Cost Routing 알고리즘을 보고 팩스를 전송할 최적 시간을 결정합니다. 팩스를 전송하기 위하여, 팩스 게이트웨이는 Cisco 패킷 게이트웨이를 사용하여 로컬 PSTN 호출을 합니다. 런던의 팩스 게이트웨이는 팩스 전송이 성공적으로 끝났다는 확인 신호를 수신하면, 그 확인 신호를 오스틴의 팩스 게이트웨이로 보냅니다.

그림 1 스토-앤-포워드(Store-and-Forward) 팩스

H.323 첫걸음

H.323는 QoS (Quality of Service)를 보장하지 않는 근거리 통신망을 통하여 멀티미디어(음성, 비디오, 데이터)를 전송하는 것과 관련된 ITU-T 규정입니다. 이 패킷 방식 네트워크는 IP, IPX, 또는 다른 프로토콜일 수 있습니다. H.323은 다른 벤더의 H.323-호환 장비와 표준을 기초로 호환이 됩니다.

H.323 밑에는 H.323 터미널, H.323 MCU, H.323 게이트웨이, H.323 게이트키퍼 등이 있습니다. QoS의 유형을 지정하는 것은 H.323의 범위에 속하지 않습니다. H.323은 LAN을 통한 멀티미디어 통신을 위한 터미널, 장비, 서비스 등을 규정합니다. H.323-호환 터미널은 음성을 전달하는데 필요하며, 비디오와 데이터 전달은 선택적입니다.

Cisco 2600/3600은 H.323 게이트웨이 역할을 하며, 게이트키퍼의 일부 기능을 대신 수행할 수 있습니다. H.323 게이트키퍼는 주소 해석, 사용 권한 통제, 대역폭 관리, 영역 관리 등을 수행하는데 필요합니다. H.323 게이트웨이는 IP 세계와 PSTN, H.320 터미널, V.70 터미널, H.324 터미널, 및 기타 음성 터미널 사이의 게이트 역할을 합니다.

H.323 프로토콜은 오디오, 비디오, 데이터 애플리케이션, 시스템 제어 기능 등으로 구성되어 있습니다. 권장 오디오 CODEC에는 G.711, G.722, G.723, G.723.1, G.728, G.729 등이 포함됩니다. 더 좋은 CODEC가 개발되면, 지정되는 CODEC를 시장이 결정할 것입니다. 현재 voice over IP 포럼에서는 그 애플리케이션을 위하여 G.723.1을 추천하였습니다. 권장 비디오 CODEC에는 H.261과 H.263이 포함됩니다. 데이터 컨퍼런싱은 워크그룹 공동 작업과 같은 애플리케이션에 대해 T.120 규격을 활용합니다.

H.323 터미널에 필요한 다른 구성 요소들에는 H.245, H225.0, RAS (Registration/Admission/Status), 및 RTCP (RTP/RTPControl Protocol) 등이 포함됩니다.

H.245, H.225.0, RAS 등은 시스템 제어 장치로 알려져 있습니다. H.245 제어 채널은 capabilities exchange, 수신측의 모드 설정, 논리적 채널 신호 처리, 및 제어와 표시 등을 위한 신뢰할 수 있는 인-밴드 전송 기능을 제공합니다. TCP는 voice over IP가 신뢰할 수 있는 전송 기능을 제공하는데 사용됩니다. H.245를 이용하면 H.323 장치들이 다른 H.323 장치들에게 그 기능을 제공할 수 있습니다. 이러한 capabilities 중의 일부에는 사용 가능한 CODEC를 지정하는 것이 포함됩니다. 이 시나리오는 negotiation이 아니며 그 capabilities에 나오는 특정한 CODEC를 반드시 사용해야 하는 것도 아니라는 점을 기억해야 합니다.

H.225.0은 q.931의 축소 버전을 활용하여 두 개의 H.323 엔드포인트 사이의 연결을 설정합니다. RAS는 H.323이 H.323 게이트키퍼 게이트웨이와 통신하는데 사용됩니다. 게이트키퍼가 H.323 네트워크에 필요한 것은 아니지만, H.323 네트워크에 있다면 사용해야 합니다. The H.323 권고는 게이트키퍼가 존재해야 하는 위치를 지정하지 않습니다. 각 벤더는 게이트키퍼 기능을 어디에 넣어야 하는지 결정해야 합니다.

RTP와 RTCP는 H.323 규정에 규정되어 있습니다. H.323 호출 셋업과 제어 프로세스가 완료된 후에, 오디오 패킷과 비디오 패킷은 UDP (User Datagram Protocol)를 통하여 보내집니다(표 4) 참조. 스트림형 오디오와 비디오를 지원하기 위하여, 이 규격은 RTP 헤더를 요청합니다. RTP 헤더에는 타임 스탬프와 시퀀스 번호가 들어 잇으므로, 수신 장치는 패킷을 동기화하여 연속적인 사운드 스트림을 재생함으로써 지터와 레이턴시를 제거하는데 필요한만큼 버퍼 처리를 할 수 잇습니다.

RTP 규정은 RTP 서버가 짝수 포트 번호를 사용할 것을 규정하며, RTCP는 그 다음 사용할 수 있는 홀수 번호를 사용할 것을 규정합니다.

RTP를 제어하는데 사용되는 RTCP는 신뢰성 정보를 수집하고 주기적으로 이 정보를 세션 참여자들에게 전달합니다. RTCP는 RTP가 사용하는 세션 대역폭의 5 퍼센트 이상을 사용할 수 없습니다.

표 4 UDP 포트 번호
 
시작 번호  끝 번호  애플리케이션 우선 순위 
16383  지정되지 않음 가장 낮음
16384 32767  오디오 가장 높음
32768 49151  화이트보드  중간
49152  65535  비디오 낮음

Packet Voice

음성, 팩스, H.323 등에대해서 설명했으므로, 이제 다른 종류의packet voice 애플리케이션, legalities, 및 이러한 차세대 텔레포니 네트워크를 최적 음성 품질을 내도록 설계하는 법 등을 설명하겠습니다. 이러한 네트워크를 셋업하는 방법을 온전히 이해하려면, 애플리케이션들을 이해해야 하며, 특정한 네트워크를 설계할 때 인식해야 할 caveat와 legalities도 이해해야 합니다.

많은 국가들에서는 voice over IP가 텔레포니 서비스를 제공하는 방식을 근본적으로 바꾸었기 때문에 voice over IP에 상당히 관심을 가지고 있습니다. 파키스탄과 대만과 같은 일부 국가들은 로컬 전화 회사와의 경쟁을 우려하여 IP 텔레포니를 완전히 금지시켰습니다. 미국에서는, 현까지는 Federal CommunicationsCommission에서 아무런 지시도 없지만, LATA (local access and transport area) 바운더리를 우회하여 법률의 “정신”을 파괴하지 못하도록 특정한 시스템 구성은 피해야 합니다. 1996년 8월에 FCC가 인터넷 텔레포니를 규제해야 하는가라는 질문에 대해 FCC의 회장 Reed Hundt는 이렇게 대답했습니다.

“우리는 로컬 전화 시장을 개방하여 경쟁하게 만드는 규칙을 만들어야 하며, 본인은 FCC가 금년 8월에 그렇게 하기를 바랍니다. 하지만 우리가 만들어야 하는지 확신이 서지 않는 다른 규칙들도 있습니다, 라고 Hundt는 말합니다.

“FCC는 미국의 Carriers’ Telecommunications Association으로부터 인터넷 폰 소프트웨어 판매를 규제해달라는 요청을 받았습니다. 그 소프트웨어 프로바이더들이 원격 통신에 적용되는 규칙을 준수하지 않기 때문입니다.

“본인은 이 시점에서 올바른 대답은 소프트웨어 프로바이더들을 규제하는 것이 아니라 인터넷 텔레포니에 기존의 서킷 스위치 음성 전화 사업자들에게 적용되는 동일한 규칙을 적용하게 하는 것이라고 확신합니다. 인터넷에서, 음성 트래픽은 단순히 특정한 종류의 데이터에 불과하며, 그 데이터에 기존의 규제 항목을 적용하는 것은 생산적이 아니며 의미가 없습니다.

“더 중요한 점은, 새로운 테크놀로지에 낡은 규칙을 적용시킬 방법을 찾아서는 안된다는 점입니다. 그보다는, 새로운 테크놀로지가 정말 더 좋은 것이라면 시장에서 활발하게 성장할 수 있도록 낡은 규칙을 고치려고 노력해야 합니다. “인터넷 텔레포니는 기존의 서킷 스위치 방식 음성 텔레포니에 대한 시기적절한 경쟁력이 있는 대안이 될만한 자격이 충분히 있습니다. 무엇보다도, 셀룰러 산업계의 성장이 보여주는 것처럼, 사람들은 다른 이익을 위해서는 상당한 수준의 품질을 희생시킬 의사가 있습니다. 셀룰러의 경우, 장점은 사실상 어느 곳에서든지 전화를 걸 수 있다는 점입니다. 인터넷 텔레포니의 경우에는, 엄청나게 저렴한 가격이 장점입니다. 이 점은 국제 전화와 같은 경우에 특히 그러합니다.”

회장 Hundt와 FCC가 현재까지는 패킷 텔레포니와 관련하여 특정한 규제를 하지 않았지만, 미국 내에서는 어느 정도의 규제가 필요합니다. 대부분의 국가에서, 원격 통신은 정부 기관이나 “텔레포니 관할 기관”에 의해 규제를 받습니다. 패킷 텔레포니 네트워크를 사용하기 전에, 항상 각 국가별로 패킷이 통과하게 되는 텔레포니 네트워크가 어느 것인지 확인하는 것이 좋습니다. 다음은 패킷 방식 네트워크를 설계하는 일반 규칙 목록입니다. 이 규칙들은 언제든지 변경될 수 있으며, 패킷 텔레포니 네트워크를 채택하기 전에 특정한 규제 사항을 조사해야 합니다.

  • 텔레포니 관할 영역 내에서는, 기업체가 자기 영역 내에서 자체 음성 호출 기능을 지원하기 위하여 패킷 텔레포니를 채택하는 것은 거의 항상 정당합니다. 이 경험상의 법칙에는 회사 직원들, 회사의 계약자들, 이 회사와 밀접한 관계가 있는 다른 회사의 직원들 등으로 구성되는 “사용자 그룹” 내에서만 통화해야 한다는 조건이 붙습니다.
  • IP 텔레포니를 통한 기업체간 통화는 이 기업체들이 밀접한 사업상의 관계가 있고 통화가 사용자 그룹 내에서만 이루어진다면 일반적으로 허용이 됩니다.
  • 특정한 애플리케이션에서는, PSTN에서 시작하여 packet voice 네트워크를 경유하여 호출 대상 사용자 그룹이나 기업체의 한 구성원에게 연결되는 것은 일반적으로 허용이 됩니다. 단, “텔레포니 관할 영역” 경계선을 넘지 말아야 합니다. (즉 그 통화는 다른 나라로 넘어가서는 안됩니다).
  • 패킷 텔레포니 네트워크가 공공 네트워크 전화를 다른 공공 네트워크 전화에 연결하는데 사용되는 경우, packet voice 프로바이더는 일반적으로 전화 사업자로 간주되며, 따라서 그 텔레포니 관할 기관의 규제와 제한을 받게 됩니다.
  • 그 호출의 발신지가 PC용 애플리케이션(NetMeeting)이었다면, 일부 텔레포니 관할 기관은 이 시나리오를 비-텔레포니 형태로 간주하며, 따라서 그 통화가 모종의 게이트웨이를 통하여 공중망으로 넘어온다고 해도 규제 대상이 되지 않습니다. 이 시나리오는 변경될 가능성이 있으므로, 이런 종류의 네트워크를 채택하기 전에 그 점을 조사해 보아야 합니다.
이전의 규칙들과 권고를 고려하여, 기업체들은 기존의 리스 회선, PBX-PBX 연결 라인 등을 합법적으로 사용할 수 있는 모든 경우에 packet voice 네트워크를 채택할 수 있습니다. 따라서, tie-line 네트워크를 모델로 사용하여 패킷 텔레포니 네트워크를 설계하고 채용하는 것이 좋습니다.

애플리케이션

패킷 텔레포니를 추진시키는 주요 요소 중의 하나는 비용 절감입니다. 현재, 대부분의 기업체의 IS 예산은 변동이 없는데, 기업의 통신/인프라스트럭처 비용은 급속하게 증가하고 있습니다. 기업체들은 가능한 모든 경우에 돈을 절약하는 방법을 찾아야 합니다. 기업체들이 이처럼 예산과 싸우는 방법 중의 하나는 음성 네트워크와 데이터 네트워크를 통합하는 것입니다. 두 개의 네트워크를 별도로 운영하는 것은 더 이상 재정면이나 기술적인 면으로 의미가 없습니다. 데이터/음성 통합을 실제로 고려하고 있는 기업체들은 이 두 가지 네트워크를 통합함으로써 이루어지는 가능한 비용 절감을 보여주는 연구 조사를 수행했습니다. 데이터/음성 통합을 달성하려는 기업체들에게는 많은 대안이 있습니다. 기업체들이 선택할 수 있는 대안 중에는 voice over Frame Relay, voice over ATM (Asynchronous Transfer Mode), voice over IP 등이 있습니다. 이 모든 대안들은 음성/데이터 통합과 관련된 특정한 문제들에 대해 특정한 솔루션을 제시하고 있습니다.

톨 바이패스

Toll bypass는 기업체들이 voice over IP 네트워크를 채용하기 위하여 찾고 있는 가장 일반적인 애플리케이션입니다. Toll bypass를 이용하면 기업체들이 현재 PBX-PBX 네트워크를 중계하는 tie line을 교체할 수 있으며 기존의 데이터 인프라스트럭처를 통하여 음성 호출을 라우팅할 수 있습니다(그림 2 참조). 기업체들은 또한 voice over IP를 사용하여 원격 사무실에 있는 비교적 작은 키 시스템을 교체하면서 동시에 비교적 큰 음성 관련 필요가 존재하는 사이트에서는 보다 밀도가 큰 voice over IP 장비를 계속 사용할 수 있습니다. voice over IP를 사용하는 것의 또 다른 장점은 사무실 간에 실시간 팩스 릴레이를 사용할 수 있다는 점입니다. 연구 조사에 따르면 장거리 통화의 대부분은 팩스 트래픽이라고 합니다. 사실, 일본으로 연결되는 장거리 통화의 60 퍼센트가 팩스입니다

그림 2 대기업체의 Toll Bypass

차세대 텔레포니 캐리어

현재, 대부분의 ISP (Internet service providers) 들은 각 일반 가입자들에게 한 달에 겨우 20 달러씩 받으면서 이윤을 남겨야 하는 문제에 직면하고 있습니다. 또한, 제한된 수의 기업 클라이언트만이 비교적 높은 이윤을 남길 수 있습니다. ISP들은 새로운 가입자들을 확보하면서 동시에 유료 서비스를 추가할 수 있는 방법을 찾아야 합니다. 많은 서비스 프로바이더들은 voice over IP를 기초로 텔레포니 서비스를 제공하면서 기존의 인프라스트럭처를 활용할 계획을 세우고 있습니다. (많은 ISP들이 이미 그렇게 하고 있습니다) 그렇게 할 만한 충분한 이유가 있습니다. 음성 관련 시장이 1 조 달러 산업이며 국내 장거리 시장은 7000억 분입니다. 한 ISP가 분당 7.25 센트에 시장의 0.1 퍼센트만 차지하고 있다고 해도, 상당한 수입을 올릴 수 있습니다.

대부분의 ISP들은 이미 상당한 자본을 투자하여 고속 IP 인프라스트럭처를 구축했습니다. QoS 특성을 채용하여 다양한 레벨의 서비스를 창출할 수 있다면, 이러한 서비스 레벨을 기초로 새로운 애플리케이션을 판매할 수 있습니다. 지금까지는, 이러한 새로운 서비스 중에서 가장 흥미를 끄는 것이 음성입니다.

예를 들어, 캘리포니아에 있는 집에서 보스톤에 계신 할머니께 전화를 하려고 한다고 가정해 봅시다. 할머니가 테크놀로지 전문가라면 Microsoft Netmeeting를 사용하여 인터넷 채팅을 즐길 수 있겠지만, 일반적인 할머니라면 기존의 전화 통신망을 사용해야 합니다. 다른 방법이 있습니까? 패킷화된 텔레포니 서비스를 제공하는 ISP가 있다면, 다음 두 가지 방법으로 그 네트워크를 액세스할 수 있습니다.

첫번째는, 기존의 다이얼업 연결 장치를 사용하여 H.323-호환 애플리케이션 (Microsoft Netmeeting, 그림 3 참조)을 시작한 다음, 그 ISP의 게이트웨이를 사용하라고 지시할 수 있습니다. ISP는 사용자의 신원을 확인한 다음, packet voice 게이트웨이 액세스 권한을 부여하여 할머니에게 전화 통화를 할 수 있게 마련합니다. 할머니는 당신이 패킷화된 음성 전화를 걸고 있다는 것을 알 수 없습니다. 일반적인 전화를 사용하여 통화를 하기 때문입니다.

ISP가 패킷화된 voice 서비스를 제공할 수 있는 또 한 가지 방법은 1 800 COLLECT와 비슷한 800-번 서비스를 제공하는 것입니다. 사용자가 요금 납부 계정을 가지고 있거나 x 분 동안의 통화를 할 수 있는 카드를 사용하면 됩니다. 800 번을 돌리고, 액세스 코드를 입력하면, 패킷화된 음성 통신망을 이용할 수 있습니다.

이 두 가지 시나리오 모두, ISP가 일반 전화 통신 사업과 관련된 모든 법규와 제한 규정의 적용을 받는 차세대 텔레포니 기업이 된다는 점에 반드시 유의해야 합니다.

차세대 콜센터와 기타 유익한 애플리케이션

오레곤 주에서 웹을 검색하고 있다고 가정해 봅시다. 플로리다 주의 어떤 회사에서 흥미있는 무엇인가를 보게 되었다고 합시다. 제품을 구입하고 싶은데, 구입하기 전에 질문할 것이 하나 있습니다. 그런데, 웹 페이지에서는 그 질문에 대답해 주지 않습니다. 이 작은 회사에서는 800 번 서비스를 제공하지 않습니다. 그렇다고, 지금 다이얼업 연결을 끊고 싶지는 않습니다. 하지만 그 회사의 웹 페이지의 버튼을 하나 누르면 Netmeeting 애플리케이션이 실행되면서 고객 지원 담당 직원에게 곧바로 연결이 된다면 어떻겠습니까? 이 담당 직원은 질문에 대답을 해 주고 주문을 받을 것입니다. 말다툼할 필요도 없고, 소란을 피울 일도 없으며, 소비자와 회사가 모두 만족할 수 있습니다. 그 기업체는 800 번 전화 관련 비용을 절감할 수 있고 이용자는 오레곤에서 플로리다까지 전화를 걸 필요가 없으니까 시간과 돈이 모두 절약됩니다.

물론, 이런 애플리케이션이 모두 쓸모가 있으려면, 그런 서비스 레벨이 있어야 하고 품질에 대해 설정된 예상치가 있어야 합니다. packet voice 네트워크를 사용하면, 소비자들이 만족할 만한 음성 품질을 유지하면서 많은 비용을 절감할 수 있다는 점을 알게 됩니다. 예를 들어, 소비자들이 이동 전화를 사용할 때 품질이 좀 떨어지기는 하지만 어디서든 전화를 걸 수 있기만 하다면 기꺼이 요금을 더 지불합니다. 패킷 텔레포니 산업이 직면하고 있는 문제는 IP 방식 텔레포니와 관련된 형편없는 품질에 대한 인식입니다. 이러한 인식을 만들어낸 진정한 범인은 현재의 인터넷 애플리케이션과 PC 방식 I-폰 애플리케이션에 QoS가 없다는 점입니다. 고객들은 잘 설계된 음성 라우터와 연결된 QoS 네트워크가 있으면 높은 수준의 음성 품질을 제공할 수 있다는 점을 볼 수 있어야 합니다.

너트와 볼트

실제 시스템 분석 이제 Cisco의 voice over IP 시스템을 살펴봅시다. 2-선 루프에서 아날로그 전화로 음성 패킷을 처리하여 완전히 패킷화된 음성 샘플을 만들어내는 경로를 볼 수 있습니다. 뿐만 아니라, Cisco가 VAD (voice activity detection), H.323 negotiation, call setup 등을 처리하는 방식도 볼 수 있습니다.

packet voice 전화 호출을 Cisco IOS voice over IP 라우터를 통하여 연결하는 일반적인 순서는 다음과 같습니다. 이 예는 특정한 call flow가 아니라 packet voice 네트워크를 통하여 전화 호출을 하면 어떤 일이 진행되는지를 포괄적으로 보여주는 것입니다. 2 명의 통화자가 관련된 음성 호출의 일반적인 흐름은 모든 경우에 동일하며, 일반적으로 다음 순서대로 진행됩니다.

1. 사용자가 수화기를 들고 로컬 루프가 연결된 장치(예를 들면, PBX, PSTN CO 스위치, 또는 Cisco 라우터의 신호 처리 애플리케이션) 등으로 오프 후크 상태 신호를 보냅니다.

2. 세션 애플리케이션이 다이얼 톤을 보내고 사용자가 전화 번호를 다이얼할 때까지 기다립니다.

3. 사용자가 번호를 다이얼하면, 세션 애플리케이션이 그 번호를 차례대로 기억합니다 .

4. 번호가 다이얼 플랜 맵퍼를 통하여 IP 호스트로 맵핑이 되고, IP 호스트는 수신 전화 번호로 직접 연결하거나 PBX로 연결을 합니다. 이 연결은 호출을 완료하는 것으로 끝납니다.

5. 세션 애플리케이션이 세션 프로토콜(H.323 - 그림 3 참조)을 실행하여 IP 네트워크 상에서 각 방향으로 전송 채널과 수신 채널을 설정합니다. 그 동안에, 호출된 측에 관련된 PBX가 있다면, 수신 전화 번호 호출을 완료하는 것으로 끝납니다.

6. RSVP (Resource Reservation Protocol)를 사용하고 있다면, IP 네트워크를 통하여 원하는 QoS를 달성할 수 있도록 RSVP 예약을 합니다.

7. voice CODECs/compressors/decompressors 등이 양쪽 끝에서 켜지고, 대화는 RTP/UDP/IP를 프로토콜 스택으로 사용하여 진행됩니다.

8. 모든 호출 진행 표시와 기타 인밴드(in-band)로 전달할 수 있는 신호들(예를 들면, 원격 전화 호출 신호, 라인 통화중 신호, 등)은 end-to-end 오디오 채널이 설정되자마자 음성 경로에서 차단됩니다. 음성 인터페이스를 통하여 감지할 수 있는 모든 신호 처리 (예를 들면, 호출이 완료된 후의 인밴드 DTMF [dual tone multifrequency] 숫자)는 어느 한쪽 끝에서 세션 애플리케이션에 의해 포착이 되어 RTCP APP 확장 메커니즘을 사용하여 RTCP로 캡슐화되어 IP 네트워크를 통하여 전달됩니다.

9. 어느 한쪽 끝이 끊어지면, RSVP 예약이 해제(RSVP가 사용되는 경우)되고, 세션이 끝나며, 상대측 끝은 다른 오프 후크 신호를 대기하면서 유휴 상태로 들어갑니다.

다이얼 플랜 맵퍼가 수신 전화 번호에 도달하는데 필요한 IP 주소를 판단할 때, 세션이 호출됩니다. 이 세션은 임의의 프로토콜을 호출할 수 있지만, Cisco IOS 소프트웨어의 경우에는, H.323이 현재 세션 애플리케이션입니다. 그림 3은 H.323 세션을 구성하기 위해 취하는 단계들을 분해해 놓은 것입니다.

그림 3 H.323 세션

초기 TCP 연결은 일반적으로 H.323 세션의 H.222 부분을 negotiation하는 포트 1720에서 이루어집니다. H.323 세션의 H.225 부분에서, H.323 세션의 H.245 부분에 해당하는 TCP 포트 번호는 다시 호출하는 장치로 전달됩니다. H.323 세션의 H.245 부분에서, RTP 주소와 RTCP 주소는 호출하는 장치와 호출받는 장치 사이에서 전달됩니다. 사용되는 RTP 주소는 16384 더하기 호출하는 장치에서 사용할 수 있는 채널의 크기의 네 배의 범위 이내가 됩니다. H.225와 H.245 세션의 모든 부분이 완료된 후에, 오디오는 RTP/UDP/IP를 통하여 스트림 처리됩니다.

연구에 따르면, 전화 통화의 50 퍼센트 이상이 폐기된 대역폭으로 구성될 수 있다고 합니다. 아무도 이야기를 하지 않기 때문입니다. 기존의 PSTN 네트워크는 전화 통화 당 64-kbps 채널 전체를 할애해야 하지만, 패킷화된 음성은 음성이 없는 상태가 감지되면 패킷 전송을 멈추어 사일런스(silence) 상태를 활용할 수 있습니다.

그림 4에 나오는 것처럼, VAD는 음성의 강도(dB 단위)를 감지하여 음성 패킷화를 차단할 시기를 결정하는 일을 합니다. VAD에는 음성이 끝난 시점과 음성이 시작한 시점을 결정하고 음성과 배경 소음을 구분해야 한다는 문제가 근본적으로 내재되어 있습니다.

그림 4 음성 감지

일반적으로 음성 진폭이 떨어지는 것이 VAD에 감지되면, VAD는 음성 패킷화를 멈출 때까지 일정 시간 동안 기다립니다. 이 지정된 시간을 hangover라고 하며, 일반적으로 200 ms입니다. VAD와 관련된 또 다른 근본적인 문제는 음성이 시작된 때를 감지하는 것입니다. 일반적으로 문장의 첫 머리는 잘려나가게 됩니다. 이 형상을 선두음 클리핑(front-end speech clipping)이라고 합니다.

보이스 튜닝

ITU-T에는 특정한 기능이 부족한 음성 네트워크를 기획할 수 있도록 마련된 권고들이 있습니다. ITU-T 권고 G.113은 다양한 시나리오에서 기대할 수 있는 음성의 품질을 알려 주는 여러 가지 요소들을 다룹니다. ITU-T는 이러한 요소들을 다음과 같은 총 손상값(total impairment value)이라고 하는 숫자값으로 만듭니다.

총 손상값 Itot는 개별적인 손상 요소들의 합계입니다.

Itot = Io + Iq + Idte + Idd + Ie

여기서

Io는 최적 상태가 아닌 총 라우드니스 등급에 의해 발생하는 손상을 가리킵니다. 1
Iq는 PCM 방식 수량화 왜곡 현상에 의해 발생하는 손상을 가리킵니다. 1
Idte는 대화자 에코에 의해 발생하는 손상을 가리킵니다. 2
Idd는 긴 단방향 전송 시간에 의해 발생하는 음성 통신 장애를 가리킵니다. 2
Ie는 연결에 사용되는 특수한 장비, 특히 비-파형 낮은 비트 속도 CODEC에 의해 발생하는 전송 손상을 가리킵니다.
음성 튜닝의 주 요점은 먼저 레이턴시, 지터, 총 지연 등을 처리할 수 있도록 네트워크를 설계하는 것입니다. 또한, 음성 네트워크를 기획할 때, 손실도 고려해야 합니다.

음성 네트워크에 설계시에 내장시켜야 하는 또 다른 요소는 손실입니다. 텔레포니 환경에서, 음성 품질을 유지하려면 일정한 수준의 손실을 내장시켜야 합니다.

EIA/TIA-464는 포트 사이에 설정되는 손실이 있어야 한다는 점을 규정합니다. 손실 관련 요건을 인터페이스마다 차이가 있으며, 일부 인터페이스는 FCC 요건에 맞는 미리 지정된 손실로 환경 설정이 되어 있습니다.

전화 통신 산업계는 다음 두 가지 방식으로 아날로그 인터페이스에서 레벨을 조정하고 있습니다.

  • TLP (Transmission-level point) - 채널 뱅크와 같은 트렁킹 장비에서 대체로 사용하는 용어로 의미는 다음과 같습니다.
    • 0 dB TLP 이 라인은 정격 손실이 0 dBm입니다.
    • -3 dB TLP 이 라인은 정격 손실이-3 dBm입니다.
    • +3 dB TLP 이 라인은 정격 손실이 +3 dBm입니다.


      1 Io 와 Iq 는 음성과 관련하여 동시에 발생하는 손상에 의해 발생합니다.
      2 Idte 와 Idd 음성 신호와 관련하여 지연되는 것으로 보이는 손상에 의해 발생합니다.
       

  • Gain/pad - 신호를 다시 0 dBm (정격 손실)으로 돌아가게 하려면 라인에 얼마나 gain이나 감쇠를 추가해야 하는지를 가리킵니다. 즉,
    • 0 dB gain 감쇠 없음. 라인이 0 dBm 상태입니다
    • -3 dB pad 또는-3 dB gain 3 dB의 감쇠. 라인은 +3 dBm hot입니다.
    • -3 dB gain 또는-3 dB pad 3 dB 증폭. 라인은 -3 dBm weak입니다.
Cisco 2600/3600 voice over IP 아날로그 인터페이스는 gain 방식을 사용합니다. 다른 인터페이스들 (FXO, FXS, E&M)은 Cisco IOS 코드에 내장되어 있는 다른 기본 레벨을 사용합니다. 이러한 기본 레벨은 Cisco IOS CLI (command-line interface)를 사용하여 조절할 수 있습니다. 이 값들이 그 안에 있지만, show 명령을 사용해도 해당 인터페이스의 실제 아웃풋이 나타나지는 않습니다(예를 들어, FXSTLP 아웃풋은 그 인터페이스에 대해 -3 dB로 설정되어 있지만, show 명령을 사용하면 0 dB가 기준점으로 나타납니다). 다양한 인터페이스의 내장된 값은 다음과 같습니다.

FXS_TLP_INGAIN 0

FXS_TLP_OUTGAIN (-3)

FXO_TLP_INGAIN 0

FXO_TLP_OUTGAIN (-3)

E&M_TLP_INGAIN 0

애플리케이션에 따라 다르지만, 이 값들은 최대 음성 품질이 가능하도록 조정해야 합니다. 보통, 이것은 PBX에 연결되어 있으면, PBX가 필요에 따라 gain이나 감쇠를 수정할 수 있게 해야 하지만, Cisco 2600/3600이 PBX처럼 작동한다면, 필요에 따라 gain이나 감쇠를 수정하도록 Cisco IOS 라우터를 환경 설정해야 함을 의미합니다.

FXS_TLP_INGAIN 0

FXS_TLP_OUTGAIN (-6)

FXO_TLP_INGAIN (-2)

FXO_TLP_OUTGAIN (-3)

E&M_TLP_INGAIN 0

E&M_TLP_OUTGAIN 0

아날로그 네트워크에서, 호출을 시작하는 스위치는 트렁크 연결의 전송 측과 수신측에 2 dB의 손실을 삽입해야 합니다. 호출을 종료하는 스위치는 전송 트렁크와 수신 트렁크 모두에 2 dB의 손실을 삽입해야 합니다. 이 시나리오에서는 연결 장치에 총 4 dB의 end-to-end 손실을 설정합니다.

대부분의 텔레포니 네트워크에서 일반적인 end-to-end 손실을 계산하는 공식이 있습니다. 이러한 공식은 다양한 텔레포니 안내서에서 알아낼 수 있습니다. Cisco 2600/3600에서는 특정한 음성 부분에서 인풋/아웃풋 gain과 감쇠를 조정하여 수신된 gain이 적절한 수준으로 조정이 되게 할 수 있습니다. 호출이 PSTN을 통과할 때, 음성 레벨을 여러 dB씩 감쇠시킬 수 있습니다. Cisco 2600/3600에서는 Cisco IOS 소프트웨어 CLI를 통하여 gain을 적절한 레벨로 조정할 수 있습니다.

아웃풋 감쇠는 FXS 포트가 PBX에 연결되어 있지 않을 때에만 설정해야 합니다. 그런 경우, 아웃풋 감쇠는 6 dB로 설정해야 합니다. gain을 적절하게 조정할 수 있는 가장 좋은 방법은 레퍼런스 -Db 값을 생성할 수 있는 톤 생성기를 사용하는 것입니다. 이러한 레퍼런스 톤을 생성하는데 가장 흔히 사용되는 장치 중의 하나가 Metro Tel MT-139. 톤 생성기가 없다면, 일반적인 송수화기를 사용할 수 있습니다. 대부분의 일반 송수화기에서는 하나의 DTMF 숫자를 사용하면 -6 dB 톤이 생성되고, 두 개의 숫자를 사용하면 -3 dB 톤이 생성됩니다.

라우터에서 gain을 설정할 때 이것이 가장 효과적인 방법이라는 점을 기억하시기 바랍니다. Cisco 2600/3600에서는 특정한 포트에 -6 dB 에서 14 dB의 손실이 발생할 수 있습니다. 14 dB이상의 손실이 필요하다면, 14 dB를 입력해야 합니다. 또한, 이러한 손실은 포트 별로 발생하므로 각 인터페이스 (E&M, FXO, FXS)를 각각 독립적으로 설정할 수 있다는 점을 기억해야 합니다.

한 가지 예 (시나리오 1)는 FXO가 IP 네트워크를 통하여 다른 FXO 인터페이스에 연결되어 있는 경우입니다. 이 FXO 인터페이스들은 PSTN이나 PBX에 직접 연결시킬 수 있습니다. 그림 5에 나오는 것처럼, 라우터 A의 FXO 포트의 인풋 gain은 전화 A에서 나오는 감쇠가 단지 2 dB로 줄어들 수 있도록 조정해야 합니다. 라우터 B의 FXO 포트의 gain은 조정해서는 안됩니다. gain 조정은 PBX에서 해야 합니다. PBX가 gain을 조정할 수 없다면, gain은 시스코 라우터에서 조정해야 합니다.

그림 5 PBX와 PSTN을 통한 FXO-FXO 연결

참고: 시작하기 전에, 그 I/O (input/output) gain과 감쇠가 Cisco 2600/3600에서 0 dB로 설정되어 있는지 확인하십시오.

단계 1. PSTN을 통하여 라우터 A (호출하는 장치)로 호출을 할 수 있도록 테스트 장치 (Metro Tel MT-139)를 연결하십시오. 호출은 그곳에서 시작하여 IP를 통하여 라우터 B로 전달됩니다.

단계 2. 라우터 B (호출받는 장치)에 연결된 PBX의 아날로그 인터페이스에 테스트 장치를 연결하십시오.

단계 3. 테스트 장치 A를 1044 Hz-AT-0 dB 톤을 보내도록 설정하여 그 톤을 테스트 장치가 수신하게 하십시오. 테스트 장치를 구할 수 없다면, 참고를 참조하십시오.

단계 4. 라우터 A에서, “show call active voice”라고 입력하십시오. 전화 통화를 끊으십시오. 이 값이 -2 dbm이 아니라면, 그 포트에서 인풋 gain을 조정해야 합니다. 예를 들어, InSignalLevel에 의해 표시되는 값은 -1입니다. 그 포트의 gain 인풋을 -1로 변경하면, 그 결과는 -2 dB의 순 손실이 될 것입니다. InSignalLevel이 표시하는 값이 -16 dBm 이하라면, 그 포트의 gain 인풋을 설정할 수 있는 최대 gain인14 dB로 변경하십시오.

단계 5. gain이 가능한한 -2 dB에 가까워질 때까지 앞의 단계들을 반복하십시오. 환경 설정 내용을 저장하십시오.

단계 6. 라운터 B가 PBX에 연결되어 있으므로, PBX는 필요에 따라 gain/감쇠를 조정할 수 있습니다. (참고: 어떤 PBX들은 일정한 신호 레벨이 마련되어야 합니다. 그런 경우, 그 PBX 관련 권장 사항에 따라 레벨을 조정하십시오.)

시나리오 2에는 송수화기에 직접 FXS 인터페이스로 연결된 라우터가 관련되어 있습니 다. 그 다음에 두번째 라우터가 FXO 포트에서 PSTN으로 직접 연결됩니다. 그림 6에 나오는 것처럼, FXO 포트는 시나리오 1과 동일하게 설정해야 합니다 (즉, 라우터의 디 지털 인풋 gain을 조정하여 전화 A에서 라우터 A의 FXO 포트로 전달되는 전송 손실 이 2 dB가 되게 하십시오). FXO에서의 디지털 아웃풋 감쇠는 제로로 설정해야 합니다. FXO 인터페이스가 PSTN이 아니라 PBX에 직접 연결되어 있다면, 시나리오 1에서와 동일한 프로시저를 사용할 것입니다.

그림 6 PSTN을 통한 FXO-FXS 연결

단계 1. 라우터 B가 FXS 인터페이스에서 6 dB의 아웃풋 감쇠를 제공하도록 설정되어 있는지 확인하십시오. (FXS 인터페이스는 3 dB의 감쇠로 하드 코딩되어 있으므로, Cisco IOS CLI를 통하여 설정해야 하는 감쇠는 3 Db 뿐입니다.)

단계 2. 라우터 A를 통하여 라우터 B로 연결이 되도록 테스트 장치를 연결하십시오.

단계 3. 라운터 A에서 라우터 B로 테스트 호출을 하십시오. 라우터 A에 연결된 테스트 장치가 0 dB에서 1004-Hz 톤을 보내도록 설정하십시오.

단계 4. 라우터 A에서 “show call active voice”라고 입력하십시오. 전화 호출을 끊으십시오. 이 값은 -2 dB이어야 합니다. 이 값이 -2 dBm이 아니라면, 그 포트에서 인풋 gain을 조정해야 합니다. 예를 들어, InSignalLevel이 표시하는 값이 -1이라고 합시다. 그 포트의 gain 인풋을 -1로 변경하면, 그 결과는 -2 dB의 순 손실이 될 것입니다. InSignalLevel이 표시하는 값이 -16 dBm 이하라면, 그 포트의 gain 인풋을 설정할 수 있는 최대 gain인 14 dB로 변경하십시오.

단계 5. 인풋 gain이 가능한한 -2 dB에 가까운지 확인하고 필요하다면 단계 3과 4를 반복하여 gain을 조정하십시오.

단계 6. 환경 설정 내용을 저장하십시오.

참고: E&M 인터페이스를 환경 설정할 때, 시나리오 1과 2에서 설명한 방법대로 해야 합니다. 다음 아웃풋은 시나리오 1에서 나오는 “show running”과 show call active voice입니다. 인풋 gain을 수정한 후에 InSignalLevel이 바뀐 것에 유의하십시오.

라우터 A 환경 설정 실행(gain 변경전)

hostname Router A
!
!
dial-peer voice 9 voip
destination-pattern +9
session target ipv4:10.1.1.1
!
dial-peer voice 8 pots
destination-pattern +8
port 1/0/0
!
!
voice-port 1/0/0
!
voice-port 1/0/1
!
end

라우터 A Show Call Active Voice의 일부(gain 변경전)

OutSignalLevel=-18
InSignalLevel=-22

라우터 A 환경 설정 실행(gain 변경후)

hostname Router A
!
dial-peer voice 9 voip
destination-pattern +9
session target ipv4:10.1.1.1
!
dial-peer voice 8 pots
destination-pattern +8
port 1/0/0
!
!
voice-port 1/0/0
input gain 14
!
voice-port 1/0/1
!
end

라우터 A Show Call Active Voice(gain 변경후)

OutSignalLevel=-18
InSignalLevel=-8

라우터 B 환경 설정 실행(gain 변경전)

hostname Router B
!
dial-peer voice 9 pots
destination-pattern +9
port 1/1/0
!
dial-peer voice 8 voip
destination-pattern +8
session target ipv4:11.1.1.1
!
!
voice-port 1/1/0
!
voice-port 1/1/1
!
end

라우터 B Show Call Active Voice의 일부(gain 변경전)

OutSignalLevel=-27
InSignalLevel=-14

라우터 B 환경 설정 실행(gain 변경후)

hostname Router B
!
dial-peer voice 9 pots
destination-pattern +9
port 1/1/0
!
dial-peer voice 8 voip
destination-pattern +8
session target ipv4:163.179.16.94
!
voice-port 1/1/0
input gain 12
!
voice-port 1/1/1
!
end

라우터 B Show Call Active Voice(gain 변경후)

OutSignalLevel=-27
InSignalLevel=-2 

 

업데이트 1999년 9월 30일

All contents copyright (C) 1992--1999 Cisco Systems Inc. Important notices.