VoIP 서비스 현황
1. VoIP 서비스를 통한 영상 및 음성, 팩스 메시지 전달
- 인터넷을 이용하고자 하는 사용자가 PC에서 인터넷에 접속하거나,
- 인터넷 프로토콜이 적용된 독립적인 디바이스를 이용해 접속하거나,
- 기존의 PSTN 단말기에서 -> 게이트웨이로 전화를 걸어 접속할 때
와 같이 여러 상황에서 VoIP 서비스를 통해 음성과 비디오와 같은 실시간 미디어를 전송한다.
2. VoIP 시그널링 및 종류
- VoIP 서비스를 할 때에는, 통신하고자 하는 상대를 찾아 시그널링 하는 수단이 필요한데, 그 종류로는
1) ITU-T(International Telecommu-nication Standardization Sector)의 H.323
2) IETF(Internet Engineering Task Force)의 SIP(Session Initiation Protocol)
의 두 가지가 있다.
3. VoIP 서비스 개발 현황
- 이전에는, H.323 기반의 VoIP 서비스가 많이 개발되었으나,
- 최근에는, 1) 파싱과 컴파일이 쉽고, 2) 확장성이 뛰어나며 3) Text-based 로 H.323 에 비해 구현이 용이한 SIP 가 주로 사용되고 있다.
SIP 표준화 동향 및 이슈
1. SIP의 표준화 동향 및 이슈
- SIP는 차세대 네트워크에서 채택되고 있으며, H.323과의 interworking으로 더욱 발전할 것으로 보인다.
제3세대 통신 시장을 주도하는 아래 표준들에서의 진행과 움직임에 대해 보면,
(1) IMT-2000(International Mobile Telecommunications-2000)
1) 회선 교환 방식과 패킷 교환 방식을 모두 제공
- 음성과 같은 실시간이 요구되는 서비스 : 회선 교환 방식을 통한 제공
- 데이터와 같은 실시간이 요구되지 않는 서비스 : 패킷 교환 방식을 통한 제공
2) All-IP 망으로의 통합
- 회선 교환망과 패킷 교환망을 모두 갖는 IMT-2000망의 비효율성
- 무선 자원 이용의 비효율성
과 같은 위의 이유로, 차세대 이동통신 망을 패킷 기반인 AII-IP망으로 통합하려는 움직임이 3GPP와 같은 표준화 기관에서 진행
-> 회선 교환 방식으로 연결하던 호 제어 부분을 대체할 프로토콜이 필요하며,
이를 위해 SIP를 표준으로 정하게 된 것이다.
(2) 3GPP(Third Generation Partnership Project)
1) 3GPP 네트워크는 패킷 교환 도메인, 회선 교환 도메인, IP 멀티미디어 도메인으로 구성
- IP 멀티미디어 도메인에서 콜 시그널링이 SIP로 이루어지며,
- 단말과 네트워크를 연결할 때, 네트워크 서비스 노드 간 연결 시 SIP를 사용한다.
2) 3GPP에서의 SIP 채택
- 무선 단말과 인터넷의 통합이 가능
- 무선 단말기를 이용해 개인의 컴퓨터를 사용하는 것과 같이 정보 이용 가능
(3) ETSI(European Telecommunications Standards Institute)
- H.323과 SIP간의 inter-operability를 제공하기 위한 연구를 하는 TIPHON(Telecommunications and Internet Protocol Harmonization Over Networks) 존재
1) 각각의 콜 시그널링 프로토콜에 독립적으로 동작하는, '인터넷 프로토콜을 이용한 전화 서비스 구조' 채택
- 인터넷에 기반을 둔 네트워크 사용자가 - PSTN, ISDN, GSM, SS7과 같은 네트워크에 있는 사용자와 통신이 가능하도록하고
-> 이러한 VoIP 서비스는 ITU의 H.323과 IETF의 SIP에 기본을 두고 시스템이 구성
2) TIPHON의 표준화 과정에서의 상호 협력 및 다른 그룹과의 협조를 통한 발전
VoIP Open Source 개요 및 사용 이점
- VoIP는 사용자의 음성을
-> 디지털 신호로 변환하여 + TCP/IP(이더넷) 프로토콜을 사용하여
-> 인터넷으로 전송하는 기술
- 컴퓨터, VoIP 전화, 휴대폰, 데이터 기반 장치 또는 아날로그 전화 어댑터로 알려진 VoIP 어댑터에 연결된 기존 전화
를 사용해 전 세계에서 전화를 걸고 받을 수 있도록 함
VoIP Open Source 종류
종류 | 주요 특징 | 지원 기능 | 비용 | 지원 OS | License | |
Asterisk | - Digium이 후원하는 무료 오픈 소스 VoIP 소프트웨어 - PBX(Private Branch Exchange) 기능과 VoIP의 고급 기능 - 전 세계 기업, 콜 센터, SMB 및 정부에서 IP PBX 시스템, 회의 서버 및 VoIP 게이트웨이에 전원을 공급 |
- 온스크린 메뉴 시스템 제공 - 자동 교환 포함 - 착신 전환 용이 - 발신번호 표시 사용 착신 전환 및 차단 활성화 -대기 중인 메시지 또는 음성 통화를 시각적 표현 등 |
$595.00 부터 시작 (per year) - free version - free trial |
Microsoft Windows, Mac OS, Window Phone, IOS, Android | GPL | PBX and IVR Platforms |
SipXcom | - 표준 기반 SIP 개방형 아키텍처로, 기업에서 선호하는 기능이 풍부한 VoIP용 소프트웨어 - 뛰어난 확장성으로 중대형 엔터프라이즈 환경에 적합 |
- 통화 전환, 보류 및 검색 허용 - DnD(방해 금지) 설정 허용 - 전화선당 여러 통화 가능 - 통화 내역 및 전체 기록 제공 - 자동 생성 디렉토리 정보 |
무료 OSS |
Linux |
AGPL(Affero GPL) | |
Linphone | - IP 소프트폰, SIP 클라이언트 및 서비스를 통한 무료 음성 - 음성 및 영상 직접 통화, VoIP 소프트 스위치, IP-PBX를 통한 통화에 사용 가능 - 인스턴스 메시지 교환 가능성 제공 |
- 다중 계정 작업 - 모든 SIP 서비스 및 회선 상태 관리에 등록 - 다른 사용자의 상태가 있는 연락처 목록 등 |
무료 OSS | Microsoft Windows, Mac OS X, Window Phone, IOS, Android | GPL | SIP Clients |
Jitis Meet | - 오픈소스 기반 비디오 컨퍼런스 솔루션 - 암호화 및 데이터 판매 불가 - 서비스를 위한 별도 계정 생성 X, 회의 시작 및 참가를 위한 다운로드 X |
- 크로스 플랫폼 - 타일 보기, 블러 배경 - Youtube 비디오 공유 및 화면 녹화, 손들기 등 줌과 같은 기능 제공 |
무료 OSS | Microsoft Windows, Mac OS X, IOS, Android | Apache 2.0 | |
Skype | - CPU 점유율 높임 및 버그/오류 존재 - 보안성 논란 |
- 오디오 및 HD 영상 통화 - 스마트 메시지 - 화면 공유 - 통화 녹음 및 라이브 자막 |
- Free Plan 존재 - 국내판 < 글로벌판 |
Linux, Microsoft Windows, Mac OS X, Window Phone, IOS, Android | ||
Ekiga | - HD 사운드 및 비디오 품질을 지원하는 오픈 소스 VoIP - 화상 회의 및 인스턴트 메시징 응용 프로그램 |
- 통화중, 응답없음, 착신 전환과 같은 상태 지원 - 호 전환 - 여러 등록 기관(SIP)과 게이트키퍼(H.3232)에 동시 등록 등 |
무료 OSS | Microsoft Windows | GPL | H.323 Clients |
MicroSIP | - windows에서 사용 가능한 PJSIP 스택 기반의 휴대용 SIP 소프트 폰 - 작은 메모리 footprint (<20mb RAM 아용량) |
- 다양한 코덱 지원 - SIP SIMPLE 현재 상태 및 메시징 |
무료 OSS | Microsoft Windows, Linux, Mac OS | GPL | |
Sipmobile | - 오픈 소스 VoIP/SIP 클라이언트 - 2000개 이상의 VoIP 네트워크에 대한 무료 통화 허용 - Sipmobile 사용자 간의 무료 음성 및 화상 통화 및 메시지 허용 |
- 무료 음성/영상 통화, 메시지 및 채팅 - 암호화를 통한 보안 통신 가능 |
비용 O | Microsoft Windows, Window Phone, Mac OS, IOS, Android | ||
Jami | - P2P 소프트 폰 및 SIP 기반 인스턴스 메신저 - 두가지 계정 유형 사용 가능 및 각 유형 동시 구성 가능 - 부트스트랩 서버를 사용해 연결해야 함 -> 진정한 인터넷 무료 통신 플랫폼 X |
- 무제한 통화 - 인스턴스 메시징 - 검색 가능한 통화 내역 - 통화 녹음 - 자동 전화 응답 등 |
무료 OSS | Linux, Microsoft Windows, Mac OS X, Window Phone, IOS, Android | GPL | |
Tox | - 비즈니스 요구 사항에 따라 수정할 수 있는 VoIP 소프트웨어 - 오픈 소스 라이브러리를 사용하여 암호화 - 기업이나 정부, 전 세계 디지털 감시 조직에서 선호 |
- 안전한 인스턴트 메시징 허용 - 무료 암호화 통화 허용 - 영상 통화 및 화면, 파일 공유 허용 등 |
무료 OSS | Linux, Microsoft Windows, Mac OS X | GPL | |
YateClient | - Yate를 기반으로 하는 인스턴트 메시징 및 VoIP 시스템 - 여러 전화 통신 프로토콜과 함께 작동 - 추가 기능 제공 위해 Perl, Python 및 PHP와 같은 스크립팅 언어 & 모듈식 설계로 C++를 사용하여 작성 |
- 통화 전환 허용 - 통화 내역 및 주소록 표시 - 메시지 보관, 채팅 기록 검색 및 채팅방 생성 허용 등 |
무료 OSS | Linux, Microsoft Windows, Mac OS X | GPL | H.323 Clients |
Twinkle | - 그래픽 사용자 인터페이스 Qt 툴킷 사용 | - 직접 IP 대 IP 통화 제공 - 사전 정의된 통신 파트너의 온라인 상태 표시 |
무료 OSS | Linux | GPL | SIP Clients |
QuteCom | - Skype와 같은 다른 VoIP 소프트폰의 GUI와 유사 - Python, Qt/C++ 언어로 작성 - 암호화와 같은 개인정보 보호기능 X - 3명 이상의 오디오 컨퍼런스 지원 X |
- 사용자가 SIP 호환 VoIP 소프트웨어의 다른 사용자와 무료 대화 가능 - 크로스 플랫폼 - 오디오 스마일 |
무료 OSS | Linux, Microsoft Windows, Mac OS X | GPL | |
PJSIP | - 설치 공간이 매우 작고 성능이 뛰어난 오픈소스 SIP 프로토콜 스택 - jsip: 오픈소스로 제작된 멀티미디어 통신 라이브러리 - PJSIP 제공 라이브러리 이용을 통한 자동 SIP 콜 테스트 프로그램 제작 가능 |
- 여러 수준의 API로 구성 및 각 API의 계층화에 따른 두 가지 접근 방식 1) PJSUA API 사용 - 여러 클라이언트 등록 - 강력하고 사용하기 쉬운 미디어 조작 등 2) PJSIP 및 PJMEDIA 직접 사용 |
from $200 (1 developer license for Independentsoft SIP.Net) to $349.000 (for ultimate Ozeki SDK license) |
Microsoft Windows, Mac OS X, IOS, Android | GPL | Stacks and Libraries |
* footprint : 특정 하드웨어나 소프트웨어 단위가 차지하고 있는 공간의 크기
* PBX(Private Branch Exchange)
- 공공 사용을 위해 구축된 것이 아닌, 기업이나 사무실의 전화 운영 체제
- PBX 시스템의 일부에는, 컴퓨터가 음성 및 터치 톤을 감지하여 전화 통화를 적절한 메뉴나 위치로 라우팅할 수 있도록 하는 대화형 음성 응답 포함 가능
* Asterisk 비용
- Single System (Level 1) - $595 per year
- Single System (Level 2) - $1,995 per year
- Multi-System (Level 3) - $3,995 per year
- Multi-System (Level 4) - $7,995 per year
무료 asterisk 서버(FreePBX)를 사용한 음성통화, 영상통화 서버 구축 방법
1. 직접 패키지 설치
- 이전에 통합본이 존재하지 않을 때 직접 패키지 설치 및 구성을 통한 서버 구축
2. ISO파일 다운로드를 통해 자동 설치
- 이때, ISO 파일이란, DVD 나 윈도우 설치 등에 쓰이는 파일 포맷으로, CD 또는 DVD를 하나의 파일로 만든 것이다.
(1) ISO 파일 다운로드
- Asterisk를 제공하는 곳은 2군데로, 각각 설치 방법은 동일하나, 설치 후 구성 방법에 차이가 있다.
1) Asterisk 홈페이지
- https://www.asterisk.org/downloads/
2) FreePBX 홈페이지
- https://www.freepbx.org/downloads/
(2) 설치 준비
1) Window Hyper-v 환경에서 설치 가능
-> 가상 컴퓨터를 새로 생성
2) 최초 부팅 시 다운받은 ISO 파일을 마운트시켜 부팅을 거쳐 설치 준비 마무리
3) 미리, Asterisk 서버의 IP를 할당
- 이유 : 모든 서버가 유동적 IP 할당을 하게 되는 경우,
DHCP 서버에서 IP 임대시간이 지나고, 서버가 OFF 되었을 때, 같은 IP로 할당받기 어려움
DHCP(Dynamic Host Configuration Protocol)
- 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜
- DHCP는 네트워크에 사용되는 IP주소를 DHCP서버가 중앙집중식으로 관리하는 클라이언트/서버 모델을 사용
- DHCP지원 클라이언트는 네트워크 부팅과정에서 DHCP서버에 IP주소를 요청하고 받을 수 있다.
(3) 설치
1) No-RAID 선택
2) DHCP 및 Static 설정 여부 선택 - 자신의 네트워크 환경에 맞는 설정
3) Time-Zone 선택 Ex) Asia/Seoul
4) root 계정의 패스워드 설정
- 서버 운영 시 외부 공격에 대비한 패스워드 설정 필요
5) 업데이트 및 설치 과정 완료 후 콜솔 화면 확인
6) 웹 접속 후 해당 Asterisk 서버의 IP를 웹페이지에 입력
7) 관리자 계정(Asterisk 서버 웹 관리자 계정) 설정
8) FreePBX Administration 아이콘 클릭을 통한 과정 종료
https://eazymanual.com/enable-hyper-v/
[FreePBX] 무료 asterisk SIP 구축
이번 포스팅에서는 무료 asterisk 서버(FreePBX)를 사용하여 음성통화, 영상통화를 서버를 구축하려고 한다. 궁극적으로 안드로이드 샘플 코드를 활용하여 스마트폰 2대로 통화 테스트까지 하려고
minddong.tistory.com
https://ubot.tistory.com/entry/Centos-54-Asterisk-sip-server
Centos 5.4에서 Asterisk sip 서버 만들기
Asterisk 라는 voip open soruce 이용하여 리눅스에 voip서버 구축 voip - sip를 이용 하여 인터넷전화를 만드는것이 학교과제 이기 때문에 이번기회에 리눅스 공부겸 asterisk를 이용해 서버를 만들어봤다. U
ubot.tistory.com
가상화 기술 - Virtual Machine(가상 머신) 과 Docker 의 차이 (가상 환경 구축 내용 추가 정리)
1. Virtual Machine 이란 ?
(1) 하나의 Host 컴퓨터에서 Hypervisor를 이용해 생성된 Guest OS 들을 의미
1) Hypervisor : Host 컴퓨터에서 다수의 OS를 동시에 실행하기 위한 논리적 플랫폼
2) Guest OS : HyperVisor에 의해 생성되고 관리되는 가상 운영체제
(2) 각각의 Guest OS는 완전히 독립된 공간과 시스템 자원을 할당받아 사용
(3) Type-1 방식과 Type-2 방식 존재
1) Type-1 방식 : Microsoft의 Hyper-V ( Windows 10 Pro의 기능 )
-> 장점 : 가상화로 실행되는 GuestOS의 하드웨어 접근성을 높일 수 있음
2) Type-2 방식 : VMware와 VirtualBox
- VMware : 기업 입장에서 가상화된 운영체제를 최대한 활용하기 위한 대안
- VirtualBox : Windows 및 macOS 사용 Linux 배포판이나 매우 오래된 운영 체제를 테스트하려는 경우에 사용
-> 장점 : 이미 만들어진 OS의 변경 없이 구현 가능
2. Virtual Machine 을 통한 가상화의 단점
1) 시스템 자원의 가상화, 독립된 공간 생성 등의 작업 - Hypervisor를 거침
-> 일반 Host에 비해 성능이 떨어짐
2) 이미지 생성 시, Guest OS 사용을 위한 라이브러리/커널 등을 전부 포함 -> 사이즈가 크다는 단점 존재
- 애플리케이션을 배포하는 용도로 사용하기에는 부담스러울 수 있다.
3. Docker 기반의 컨테이너 가상화 란?
(1) Linux chroot / namespace / cgroup 을 사용하여 프로세스 단위의 격리 환경 구축
(2) 컨테이너에 필요한 커널은 Host 컴퓨터의 커널을 이용
(3) 컨테이너 안에는, 애플리케이션 구동을 위해 필요한 라이브러리 & 실행파일만이 존재
-> 이미지 용량이 작음
(4) 컨테이너는 너무 작아, 일반적으로 수백 개가 서로 느슨하게 결합되어 있음
-> 컨테이너 오케스트레이션 플랫폼을 사용해 컨테이터를 프로비저닝 및 관리
Ex) 컨테이너 오케스트레이션 플랫폼 : OpenShift, Kubernetes
4. Docker Engine 가상화의 장점
1) 도커 이미지의 크기가 작아 -> 이미지를 이용한 애플리케이션 배포에 용이
2) Hypervisor를 통하지 않아 -> 성능 손실이 거의 없음
5. Container 방식의 단점과 가상 머신
- 컨테이너의 경우, 커널이 공유 -> Host OS만 뚫려도 다른 컨테이너까지 위험해지는 상황
- 가상 서버의 경우, 각각의 가상 머신이 독립적 -> 구조상 Container 방식에 비해 안전
즉, 보안 측면에서 컨테이너 방식이 Hypervisor 보다 안전성이 떨어질 수 있다는 것이다.
그렇지만, Hypervisor 역시도 보안 문제가 발생 가능하므로, 각 상황을 고려해 산택하는 것이 바람직하다.
+ Docker와 같은 특정한 가상화 플랫폼 용 Windows 하위 시스템을 사용하려는 경우,
Windows 하이퍼 바이저를 활성화해야한다.
그렇지 않으면, Windows에 특화되어 있고 Microsoft의 운영 체제가 우리에게 가장 잘 작동하는 곳이지만
복잡성과 제한된 옵션이 존재한다.
'etc.' 카테고리의 다른 글
[DB] 프로그래머스 MySQL 입양 시각 구하기(1) (0) | 2022.05.13 |
---|---|
[Data Structure] Graph 와 Tree 의 차이점 (0) | 2022.04.04 |
[Network] VoIP OpenSource 종류 별 기능 (0) | 2022.02.22 |