'VoIP'에 해당되는 글 3건

  1. 2008.09.11 1. G729 코덱과 G729A / G729B
  2. 2008.07.04 네트워크 패킷 분석툴 : tethereal ?? ethereal ?? wireshark?? 1
  3. 2007.02.22 모임스톤 IP-Phone
2008. 9. 11. 13:40

1. G729 코덱과 G729A / G729B

원본 링크 : http://blog.naver.com/godorimania/140005474232

저번에 말씀 드린 바와 같이 오늘은 G.729 코덱에 대해 좀더 알아 보도록 하겠습니다.

G.729 코덱에 대해 별도로 지면을 할애 하는 것은 그만큼 코덱이 중요하다는 의미 이지요.

G.729 코덱은 두가지 Annex 있습니다.

Annex A B 있습니다.

무슨말 이냐면 G.729 코덱의 성능의 향상을 위하여 약간의 변화를 두가지 변형이 있다고 보시면 됩니다.

이중에 G.729a 코덱이 대부분의 VoIP 벤더들의 기본 코덱으로 사용되고 있습니다. 시스코도 마찬가지 입니다.

더불어 시스코의 IP 폰에서 지원되는 코덱도 G.711 G.729a 코덱 두가지만 지원이 됩니다.

여러분들이 VoIP 대한 관심이 있다면  이들 두가지 G.729 Annex 대해 아셔야 합니다.

 

이들은 모두 ITU 표준(Standard) 코덱 입니다.

또한 모두 음성을 초당 8Kbps 압축 하고 인코딩 타임(Compression Delay) 동일하게 10ms 입니다.

여기까진 동일한데

그런데 몇가지 성능상의 차이점이 있습니다.

 

첫째로 가장 차이라면 G.729a 코덱은 알고리즘이 보다 단순해서 DSP 대한 부하가 G.729 비해 절반 정도 적습니다.

, G.729 20MIPS 이고 G.729a 10MIPS 입니다.

차이 때문에 하나의 DSP 칩은 동시에 두개의 G.729a 통화를 처리 할수 있는 반면에 G.729 통화는 하나밖에 지원하지 못합니다.

DSP(Digital Signal Processor) 칩은 NM 보이스 모듈이나 카타리스트 6500 6608모듈 이나AS5000 시리즈의 VoIP 모듈등에 존재하는 칩이고 앞서 말씀 드렸다 시피 음성을 압축하는 부분 이라고 했습니다.

장비마다 장착 할수 있는 DSP 칩의 갯수가 한정 되어 있기 때문에 DSP 대한 부하가 얼마 인지는 중요한 요소가 됩니다.

예를 들면 아래 그림은 AS 5300 VoIP 모듈의 그림 입니다.





                                                       <그림 1>



 

 

 

<그림2>

 

 

<그림1> AS5300 하나의 T1 모듈과 두개의 VoIP 모듈이 장착되어져서 VoIP 게이트웨이로 구성되어 있는  사진 입니다.

(예전에는 VoIP 모듈 대신 MICA(Modem ISDN Channel Aggregation) 모듈을 통해 PC 통신 서비스나 PPP 인터넷 접속 서비스용도로 사용되었지요.)

<그림2> VoIP 모듈은 <그림1> 슬롯에 장착 됩니다.

하나의 VoIP 모듈에는 최대 30개의 DSP 칩을 장착 할수 있습니다.

만약 두개의 모듈을 설치하면 60개의 DSP 칩을 이용할수 있습니다.

이때 게이트웨이에서 사용하는 코덱이 G.729 코덱 이라면 게이트웨이는 동시에 60개의 통화만 처리할수 있습니다.

하지만 사용하는 코덱이 G.729a 코덱이라면 동시에 처리할수 있는 통화는 120 개가 됩니다.

DSP 칩에 대한 부하(Load) 차이가 이해 되시죠?

추가해서 만약 코덱이 G.711 이라면 240개의 동시 통화가 가능합니다.

 

두번째 차이점은 MOS 값은 G.729 코덱이 약간 좋습니다.

G729 코덱은 MOS 3.92 이고 G729a 코덱은 3.9 입니다.

하지만 아주 미미한 차이죠?

 

이번엔 G.729 Annex B 입니다.

Annex B VAD (Voice Activity Detection) CNG(Comport Noise Generation) 정의합니다.

VAD (Voice Activity Detection) Silence Suppression 이라고도 합니다.

사람의 전화 통화시에 거의 절반 정도는 침묵 입니다.

, 저쪽에서 말을 하면 이쪽은 듣기만 하고 반면에 이쪽에서 말을 하면 저쪽은 듣기만 한다는 것이죠.

기존의 TDM 환경에서는 이렇게 말을 하지 않더라도 채널이 비어있는 채로 전송이 될뿐 채널을 다른 통화 시도자에게 할당 하지는 못합니다.

하지만 VoIP 환경에서는 이렇게 송화자가 침묵을 경우 IP 패킷을 생성하지 않는 입니다.

그렇게 되면 일시적으로 음성이 밴드위드를 사용하지 않게 되고 이렇게 남는 밴드위드를 다른 어플리케이션 (WEB 이나 FTP) 사용할 수가 있는 것이죠.

이렇게 음성의 진폭값이 일정 한도(Threshold) 도달 하는지를 감지해서 패킷의 생성 여부를 결정하는 것이 VAD 입니다.

다만 VAD 사용하게 되면 말의 시작부분이나 음성의 진폭이 떨어지는 말의 끝부분은 잘려 나갈수가 있습니다. 이런것을 클리핑(Clipping) 이라고 합니다.

그래서 음질이 나빠질수가 있습니다.

시스코 게이트웨이는 디폴트로 기능이 Enable 되어 있습니다.

CNG VAD 관련이 있습니다.

VAD 사용하게 되면 말을 하지 않는 사람이 상대방에게 아무런 음성 패킷을 보내지 않으므로 말을 하는 사람은 당연히 수화기에서 아무런 소리도 안들리게 됩니다.

이럴경우 말을 혼자서 일방적으로 오랫동안 하는 사람은 간혹 전화가 끊어졌을까 염려해서 여보세요?”하고 상대의 존재 여부를 확인하게 됩니다.

이런 상황을 방지하고 통화자들에게 통화의 안정감을 주기 위해서 VAD 시에도 일정한 잡음을 발생시키게 되는데이걸 CNG(Comport Noise Generation) 라고 합니다.

이러한 G.729 Annex B G.729 코덱과 G.729a 코덱 둘다에 적용됩니다.

 

오늘은 내용이 길고 새로운 용어들이 소개 되었는데요이런 용어들은 VoIP 에서 일상적으로 사용되는 용어들이니 알아 두시고요

결론은 G.729a 코덱이 VoIP 환경에서 일반적으로 가장 많이 사용되는 코덱이고 이러한 기능들을 갖고 있다는 것을 알아 두시면 되겠습니


2008. 7. 4. 11:14

네트워크 패킷 분석툴 : tethereal ?? ethereal ?? wireshark??

자 리눅스에서 네트워크 패킷을 잡기 위해서는

이전에는 주로 ethereal 을 사용했지만 이게 wireshark 로 바뀌면서

rpm 이름도 wireshark 로 바뀌게 되었다.

그럼 우선 ethereal 을 사용하는 방법을 알아보자.

1. 단순히 모든 패킷 잡기

터미널 창에서 tshark 를 치면 바로 잡기 시작


2. 좀더 자세히 패킷 잡기

tethreal 을 사용하는 방법이다. ( text+ethereal 의 줄임말 인듯 ) 
CLI 에서 패킷을 잡는 방법이다. 

tethereal -i eth0 -w test.cap -R "sip"

여기서 - i 옵셥은 네트워크 인터페이스 중에서 어느 것을 사용해서 잡을 것인지를 선택하는 옵션
- w 옵션은 잡은 패킷을 어느 이름을 가진 파일로 저장하는 것을 지정하는 옵션
-R 은 뒤에 오는 쌍따옴표 안에 필터를 지정해서 그 필터를 읽어서 그 필터에 해당하는 것만 패킷을 저장하는 것이다.
( 저장 되는 곳은 바로 위의 명령을 실행한 디렉토리에 저장된다 )

3. SIP 와 H323 의 ras 메세지를 같이 잡기 위해서는 다음과 같이 한다.

tethereal -i eth0 -w test2.cap -R "sip or h225"

자세한 옵션 설명은 다음의 링크에서 자세히 설명되어 있다.

http://ethereal.secuwiz.com/docs/man-pages/tethereal.1.html


4. CentOS 리눅스에서는 다음과 같이 설치한다.

ethereal 을 설치하면 tethereal 을 사용할 수 있다.
실제로 설치하는 파일이름은 wireshark 이다. ( ethereal 의 후속버전이 이름이 바뀌었다 wireshark 로 )

[root@localhost home2]# yum install ethereal
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.aussiehq.net.au
 * updates: centos.mirror.aussiehq.net.au
 * addons: centos.mirror.aussiehq.net.au
 * extras: centos.mirror.aussiehq.net.au
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package wireshark.i386 0:1.0.8-1.el5_3.1 set to be updated
--> Processing Dependency: libsmi.so.2 for package: wireshark
--> Running transaction check
---> Package libsmi.i386 0:0.4.5-2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================
 Package                         Arch                       Version                                Repository                  Size
====================================================================================================================================
Installing:
 wireshark                       i386                       1.0.8-1.el5_3.1                        base                        11 M
Installing for dependencies:
 libsmi                          i386                       0.4.5-2.el5                            base                       2.4 M

Transaction Summary
====================================================================================================================================
Install      2 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        

Total download size: 13 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): libsmi-0.4.5-2.el5.i386.rpm                                                                           | 2.4 MB     00:10    
(2/2): wireshark-1.0.8-1.el5_3.1.i386.rpm                                                                    |  11 MB     00:20    
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               406 kB/s |  13 MB     00:32    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libsmi                                            [1/2]
  Installing     : wireshark                                         [2/2]

Installed: wireshark.i386 0:1.0.8-1.el5_3.1
Dependency Installed: libsmi.i386 0:0.4.5-2.el5
Complete!



'VoIP 이야기' 카테고리의 다른 글

큐북 (QBOOK) 웹 드뎌 스타트  (7) 2008.12.31
1. G729 코덱과 G729A / G729B  (0) 2008.09.11
2007. 2. 22. 21:39

모임스톤 IP-Phone

사용자 삽입 이미지




음 현재 내가 가장 많이 쓰는 전화기.
핸폰도 안 울리니까 회사 전화인 요넘을 주로 사용. ㅋㅋ
IP폰으로서
다양한 기능을 가지고 있음.
하지만 역시 전화기는 전화만 사용하는 경향이. ㅎ

IP폰들이 그렇듯이 웹으로 설정들을 변경할 수 있다.

전화기에서 메뉴 > 2 > 2 를 누르면 현재의 아이피를 확인할 수 있고

http://아이피:8080 으로 들어가면 전화기의 설정을 바꿀 수 있다.