IP 전화 통신 별표 설정. 설치 후 기본 별표 설정. 설치 전 해야 할 일

이 기사는 전화를 받고 보내기 위해 Asterisk를 구성하는 방법을 기억해야 할 경우를 대비한 참고 사항입니다. 이 메모는 ip pbx Asterisk에서 오피스 스테이션을 구성하는 데 충분합니다. 지금까지는 FreePbx를 사용하지 않고, 즉 구성 파일과 콘솔만 사용하여 Asterisk가 작동하도록 구성하는 방법에 대한 확실한 아이디어나 경험이 없었습니다. 그리고 지금 나는 이것을 배우고 있습니다. 인터넷에서는 모든 설정이 하나의 문제를 해결하는 것으로 귀결되지만 IP 스테이션의 최소 구성에 대한 최소한의 기반을 제공할 수 있는 기사를 본 적이 없습니다. 제가 잘 검색을 안 했을 수도 있겠네요.

그래서 구성 파일이 많은 /etc/asterisk 폴더에 별표를 컴파일해서 설치했습니다. 무엇 향후 계획?

1. 내부 가입자끼리 서로 전화를 걸 수 있는 기능

2. 내선에서 시내 및 시외번호 접속 및 착신전화 수신 서비스를 받을 수 있도록 외부 회선을 설정합니다.

3. 도시 및 장거리 전화번호로 가입자에게 전화를 걸 수 있는 기능을 구성합니다. 그리고 도시에서 전화를 받으세요.

해결해야 할 세 가지 주요 작업은 다음과 같습니다. 당연히 계획은 다를 수 있습니다. 즉, 가입자를 그룹으로 결합할 수 있고, 여러 외부 통신 사업자가 있을 수 있으며, 수신 통화가 자동 알림 장치, 대기열 또는 둘 다로 전송될 수 있습니다. 서비스 계획은 다양해지고 더욱 복잡해질 수 있지만, 어떤 경우에도 처음 세 가지 조건은 충족됩니다.

따라서 가장 먼저 해야 할 일은 sip.conf 파일에 내부 구독자(피어)를 만드는 것입니다.

구독자 A의 설정은 다음과 같습니다.

허용하지 않음=모두
허용=ulaw
허용=알람
유형=친구
사용자 이름=101
비밀=비밀번호
자격=예
컨텍스트=101
발신번호=101
호스트=동적
통화 제한=1
다시 초대할 수 있습니다=예
계정코드=101
amaflags=청구
거부=0.0.0.0/0
허가=192.168.0.66

어디:
disallow=all , G.711을 제외한 모든 코덱 사용을 금지합니다.
허용=ulaw
허용=알람

type=friend, 이 매개변수는 세 가지 값을 가질 수 있습니다.

- 또래, 이 유형은 전화 수신 및 발신에 사용됩니다. 수신 전화의 경우 사용자 이름과 비밀번호는 확인되지 않으며 호출 소스의 IP 주소와 포트 번호만 확인됩니다.

- 사용자전화만 걸 수 있는 항목

- 친구피어이자 사용자인 항목
사용자 이름=101
비밀=비밀번호
로그인과 비밀번호는 각각

옵션 유형의 SIP 메시지를 주기적으로 보내 등록을 위한 장치 가용성 모니터링을 확인합니다. 이는 변환 테이블에 값을 저장하기 위해 NAT를 통해 작업할 때 유용합니다.

라우팅 규칙이 포함된 컨텍스트 이름

우리 번호의 발신자 ID

호스트=동적
등록이 이루어질 호스트 IP

통화 제한=1
(콜카운터)
동시 통화를 제한하세요. 여기에서 채널 수를 설정할 수 있습니다.

다시 초대할 수 있습니다=예
(다이렉트미디어)

이 매개변수는 RE-Invite 절차를 담당합니다. 아니요인 경우 모든 통화는 Asterisk를 통과하고, 그렇다면 RTP 스트림은 Asterisk를 우회하여 두 장치 간에 전송됩니다.

계정코드=101
amaflags=청구

accountcode 필드의 CDR 레코드 값은 101입니다.
이 SIP 사용자의 발신 통화에 대한 AMA 플래그 필드 값

거부=0.0.0.0/0
허가=192.168.0.66
등록을 허용할 ACL IP

구독자 B의 경우도 유사합니다.

허용하지 않음=모두
허용=ulaw
허용=알람
유형=친구
사용자 이름=102
비밀=비밀번호
자격=예
컨텍스트=102
발신번호=102
호스트=동적
통화 제한=1
다시 초대할 수 있습니다=예
계정코드=102
amaflags=청구
거부=0.0.0.0/0
허가=192.168.0.67

유용할 수 있는 잔치의 추가 옵션:

전송=tcp,udp
udp를 사용하여 작업할 수 있을 뿐만 아니라 일반적으로 tcpenable=yes 설정이 필요합니다.
rtp시간 초과=180
rtpholdtimeout=420

닫히거나 연결이 끊어졌을 때 전화를 끊지 않는 SIP 클라이언트에 유용합니다. 이 경우 RTP 세션은 시간 초과(rtpholdtimeout)에 의해 자체적으로 재설정될 수 있습니다. - 통화가 보류 중인 경우

nat=force_rport,코미디어

장치가 NAT 뒤에 있는 경우 rport를 통해 작업을 수정하고 SDP의 정보를 무시하고 RTP 패킷을 수신한 IP 주소와 포트로 다시 보냅니다.

기본만료=60
들어오고 나가는 등록에 대한 등록 유효 기간(초)

dtmfmode=rfc2833

DTMF 신호로 작업하는 방법

1. 따라서 가장 간단한 버전에서는 sip 클라이언트 101과 102 간의 라우팅을 설정하는 작업 1을 sip.conf 파일의 한 줄로 해결하고 구성을 포함할 수 있습니다.


내선 => _XXX,1,다이얼(SIP/$(EXTEN),20,T)

다음과 같이 sip.conf를 사용하는 것이 편리합니다.

포함 => in_out_peer_local

이제 가입자 101은 가입자 102와 통신할 수 있고 그 반대의 경우도 마찬가지입니다. 102는 101에 전화할 수 있습니다.

2. 내부 가입자가 외부 회선에 액세스할 수 있는 조건을 만들기 위해 동일한 SIP를 사용하여 스테이션을 통신 사업자에 연결합니다.

즉, 트렁크를 생성하겠습니다.
유형=피어
호스트=XX.XXX.XXX.XX
포트=5060
fromdomain=우리 스테이션의 IP
nat=아니요
허용하지 않음=모두
허용=ulaw
허용=알람
허용=gsm
다시 초대할 수=아니요
;허용=g722
trustpid=예
sendrpid=예
dtmfmode=rfc2833
자격=예
안전하지 않음=초대,포트
거부=0.0.0.0/0.0.0.0
허가=XX.XXX.XXX.XX/255.255.255.255
문맥=제공

트렁크 설정은 피어 설정과 매우 유사합니다. 원칙적으로 이는 피어이며 중요한 옵션입니다.
fromdomain – sip 패킷을 스테이션으로 반환할 위치를 이해할 수 있도록 sip 패킷에 fromdomain을 설정합니다.
trustpid=예
sendrpid=예

수신된 Remote-Party-ID를 신뢰하거나 신뢰하지 않으려면

안전하지 않음=초대,포트

들어오는 INVITE 메시지에 대한 인증이 필요하지 않으며 IP 주소 준수만을 위해 포트 번호를 확인하지 않습니다.

3. 그냥 사소한 문제입니다. 트렁크가 활성화되자마자 발신 라우팅을 등록해야 가입자 A, B에게 전화를 걸 수 있습니다.
사실상의 표준은 항상 나가는 통신을 먼저 설정한다고 말하는 것 같습니다.

전화를 걸기 위한 컨텍스트 만들기

시내로 전화를 거는 경우


exten => _XXXXXX,1,Dial(SIP/공급자 /$(EXTEN))
확장 => _XXXXXX,n,전화 끊기

장거리 목적지로 전화를 거는 경우


exten => _8.,1,Dial(SIP/공급자 /$(EXTEN))
확장 => _8.,n,전화 끊기

나가는 연결이 작동한 후 들어오는 연결을 설정합니다.

Autoinformer, 그룹 및 대기열이 없는 간단한 경우에는 다음과 같습니다.


내선 => 2466754,1,다이얼(SIP/$(EXTEN))
확장 => 2466754,n,전화 끊기

위에서 설명한 원리에 따라 모든 스테이션을 동일한 방식으로 구성할 수 있습니다.

이 자료에서 설치에 대해 설명할 Asterisk는 소위 사무실 전화 교환기 또는 IP-PBX(Private Branch eXchange, PBX)를 구성하기 위한 소프트웨어입니다. 사무실의 모든 전화를 하나의 정보 네트워크로 통합하고 이를 기반으로 다양한 음성 통신 서비스가 작동됩니다. Asterisk는 에뮬레이터를 사용하여 Linux, BSD, OS X 및 Windows에서 실행됩니다.

Asterisk는 네 가지 VoIP 프로토콜을 통해 음성을 전달할 수 있으며 상대적으로 저렴한 장비를 사용하여 거의 모든 표준 전화 장치(휴대폰 포함)와 인터페이스할 수 있습니다. Asterisk는 디렉토리, 회의, 대화형 음성 응답 및 통화 대기열을 포함한 다양한 음성 메일 기능을 구현합니다.

이 자료에서는 Linux, 특히 널리 사용되는 CentOS 및 Debian 배포판에 Asterisk를 설치하는 과정과 음성 메일 서버 설정을 위한 기본 절차를 살펴보겠습니다.

소스에서 별표 서버 설치

먼저 모든 Linux 배포판에서 사용할 수 있는 IP 전화 통신 서버 설치 알고리즘, 즉 소스 코드에서 소프트웨어를 조립하고 설치하는 알고리즘을 살펴보겠습니다. 이 방법을 사용하면 Asterisk를 처음부터 설치할 수 있습니다.

시스템에 IP 텔레포니 서버를 설치하기 전에 여러 가지 조건을 충족해야 합니다. Asterisk는 커널 버전 2.6 이상을 실행하는 시스템에 설치해야 하며, 프로그램이 성공적으로 컴파일되려면 시스템에 헤더 파일이 있어야 합니다. Asterisk는 C로 작성되었으므로 빌드하려면 termcap 및 openssl과 같은 라이브러리와 함께 gcc 컴파일러를 시스템에 설치해야 합니다. Asterisk 추가 기능을 구축하려면 사전 설치된 라이브러리와 mysql 클라이언트는 물론 해당 헤더 파일도 필요합니다.

시스템 설치 준비가 완료되면 공식 웹사이트의 다운로드 섹션으로 이동하여 다음 아카이브를 다운로드해야 합니다.

  • 별표.
  • 별표 소리.
  • 별표 애드온.
  • zaptel.
  • libpri.
  • 파일은 사무실 PBX 기능을 수행할 서버에 복사되어야 합니다. 폴더에 넣어두세요 /usr/src/.

    그런 다음 아카이브가 있는 디렉터리로 이동하여 다음 명령을 사용하여 각 아카이브의 압축을 풉니다.

    tar-xzftar.gz

    아카이브는 아카이브 이름과 일치하는 이름을 가진 폴더에 압축이 풀립니다. 다음 명령을 사용하여 각 폴더로 순차적으로 이동합니다.

    CD

    그리고 각 폴더에서 다음 명령을 실행하십시오.

    1. 조립 준비:

    2. 조립:

    3. 설치:

    위 명령이 성공적으로 완료되면 서버에 Asterisk를 빌드하고 설치하게 됩니다.

    소스에서의 설치 절차는 모든 Linux 배포판에서 동일하지만 모든 사람이 이에 익숙하지는 않습니다. 일반적으로 대부분의 사용자는 특정 배포판에서 제공하는 설치 방법을 선호합니다.

    이와 관련하여 사무실 PBX 생성에 널리 사용되는 두 가지 플랫폼인 CentOS와 Debian GNU/Linux에서 Asterisk를 설치하는 절차를 고려해 보겠습니다.

    CentOS에 별표 설치

    이 예의 목적을 위해 Asterisk 13을 설치하겠습니다. CentOS 7에 Asterisk를 설치하겠습니다.

    설치는 슈퍼유저(루트)로 텍스트 콘솔 모드에서 수행된다고 가정합니다.

    먼저 필요한 모든 필수 구성 요소를 설치해야 합니다. 아래 나열된 모든 패키지가 시스템에 있는지 확인하십시오. 꽤 많이 있습니다 :

    결과적으로 시스템에는 Asterisk 전화 통신 서버를 성공적으로 구축하는 데 필요한 모든 종속성이 포함됩니다.

    다음 단계는 SELinux를 비활성화하는 것입니다. CentOS의 보안 강화 Linux 보안 시스템은 기본적으로 활성화되어 있으며 Asterisk의 정상적인 작동을 방해하는 경우가 많습니다. 따라서 서버를 성공적으로 설정하고 작동하려면 비활성화해야 합니다.

    다음 명령을 사용하여 SELinux 시스템의 활동 상태를 확인해 보겠습니다.

    시스템에서 SELinux가 활성화되었다고 보고하면 비활성화 절차를 수행합니다. 이렇게 하려면 폴더의 구성 파일을 변경해야 합니다. /etc/selinux,적절한 플래그를 설정하여.

    sed -i "s/\(^SELINUX=\).*/\SELINUX=DISABLED/" config

    timedatectl set-timezone(예: America/Los_Angeles)

    시간대가 설정되었는지 확인하려면 다음 명령을 사용할 수 있습니다.

    ​timedatectl 상태

    그런 다음 변경 사항을 적용하려면 시스템을 재부팅해야 합니다. 이렇게 하려면 재부팅 명령을 사용하십시오.

    이제 Asterisk 설치로 넘어 갑시다.

    실제로 CentOS에 Asterisk를 설치하는 것은 이전 섹션에서 만난 소스와 동일한 어셈블리로 귀결됩니다. 여기서는 특정 Linux 배포판, 즉 CentOS 7의 기능을 고려한 빌드 프로세스를 살펴보겠습니다.

    먼저 IP 텔레포니 서버 자체를 다운로드하여 설치해 보겠습니다.

    제품 공식 웹사이트의 다운로드 섹션에서 Asterisk 13이 포함된 아카이브를 다운로드하고 /usr/src 폴더에 저장해 보겠습니다. 짐을 풀어보자다음 명령을 사용하여 아카이브합니다.

    타르 zxvf

    압축을 푼 아카이브가 있는 폴더로 이동하여 아래 명령을 실행해 보겠습니다.

    ./configure --libdir=/usr/lib64 --with-pjproject-bundled

    이 일련의 명령은 어셈블리 소스를 준비합니다.

    menuselect.makeopts를 만드세요

    컴파일 옵션을 설정한 후 다음 작업 순서를 수행합니다.

    1. IP 전화 통신 서버에 대한 별도의 사용자 계정을 만듭니다.

    adduser 별표 -s /sbin/nologin -c "별표 사용자"

    2. 서버를 구축하고 설치합니다.

    만들기 && 설치하기

    3. 새로 생성된 사용자에 대한 별표 액세스 권한을 설정합니다.

    chown -R 별표. /var/lib/별표

    결과적으로 기본 Asterisk 서버가 구축 및 설치됩니다.

    Asterisk 자체 외에도 CentOS에서 비슷한 방식으로 서버에 유용한 추가 기능을 설치할 수 있습니다. 아래에서 이에 대해 읽어보세요.

    프리PBX

    FreePBX는 사무실 PBX 설정 및 관리를 위해 설계된 모든 기능을 갖춘 그래픽 웹 인터페이스입니다. FreePBX와 함께 Asterisk를 설치하는 작업은 다음 순서로 수행됩니다.

    데이터베이스를 시작해 보겠습니다.

    systemctl 시작 mariadb

    GitHub에서 /usr/src 폴더로 FreePBX 소스 코드를 다운로드합니다.

    git clone -b 릴리스/13.0 https://github.com/FreePBX/framework.git freepbx

    ./start_asterisk 시작

    FreePBX 설정을 위한 여러 명령:

    다디

    DAHDI는 Asterisk가 다양한 전화 장비와 상호 작용할 수 있게 해주는 드라이버입니다. Asterisk를 실행하는 서버에 직접 설치된 전화 통신 인터페이스 카드의 작동을 담당합니다. DAHDI의 설치 절차는 아래에 설명되어 있습니다.

    드라이버가 포함된 아카이브를 /usr/src 디렉터리에 다운로드하고 압축을 푼 다음 압축이 풀린 폴더로 이동합니다. 그 안에 있는 명령을 실행하세요:

    PJSIP

    PJSIP는 다양한 IP 전화 프로토콜 지원을 담당하는 C로 작성된 라이브러리입니다. Asterisk 버전 13.8부터 PJSIP 라이브러리를 별도로 설치할 수 있습니다. 그러나 Asterisk를 플래그와 함께 컴파일하면 --with-pjproject-번들(이전 섹션에서 수행한 작업) PJSIP 라이브러리는 서버가 컴파일될 때 직접 설치됩니다.

    PJSIP를 별도로 설치하려면 다음과 같은 절차가 필요합니다.

    pjsip.org에서 드라이버가 포함된 아카이브를 /usr/src 디렉터리로 다운로드하고 압축을 푼 다음 압축이 풀린 폴더로 이동합니다. 그 안에 있는 명령을 실행하세요:

    설치 후 절차

    Asterisk 설치가 완료되면 완료해야 할 추가 단계가 많이 있습니다. 이러한 절차는 필수입니다.

    1. 데이터베이스 서버에 대한 보호를 설정합니다.

    mysql_secure_installation

    절차를 완료하려면 모든 질문에 Y라고 대답하면 됩니다.

    2. 웹 서버 설정 변경:

    3. Asterisk가 작동하는 데 필요한 서비스 및 포트에 대한 개방형 액세스:

    Firewall-cmd --permanent --zone=public --add-service=(http,https) --add-port=5060-5061/tcp --add-port=5060-5061/udp --add-port= 10000-20000/udp

    4. 데이터베이스 자동 로딩을 구성합니다.

    systemctl에서 mariadb 활성화

    5. 시스템 시작 시 로드되도록 웹 서버를 구성합니다.

    systemctl httpd 활성화

    6. 시스템 부팅 시 FreePBX 자동 시작을 구성합니다.

    나노 /etc/systemd/system/freepbx.service

    systemctl에서 freepbx를 활성화합니다.

    7. ODBC를 통해 데이터베이스에 대한 연결을 설정합니다. 오래된 모듈이 설치된 경우 cdr_mysql.so,이 항목은 선택사항이지만 여전히 권장됩니다.

    나노 /etc/odbc.ini

    ODBC 연결을 테스트하려면 다음 명령을 사용하십시오.

    isql -v 별표cdrdb

    8. 시스템을 재부팅하여 변경 사항을 적용합니다.

    데비안에 별표 13 설치

    이 섹션에서는 또 다른 인기 있는 플랫폼인 Debian에서의 설치 절차를 살펴보겠습니다. 사용자에게 좋은 소식은 소스에서 빌드하는 기능도 포함되어 있지만 상대적으로 간단하다는 것입니다. 예를 들어 Debian 8에 Asterisk를 설치하겠습니다.

    설치는 수퍼유저(루트)로 수행됩니다. 터미널을 열고 적절한 권한을 얻은 후 설치를 진행할 수 있습니다.

    먼저 공식 웹사이트에서 Asterisk 13을 다운로드하고 다운로드한 아카이브를 추출합니다. 압축을 푼 소스가 있는 폴더로 이동합니다.

    이제 필요한 종속성을 설치해 보겠습니다. 가장 중요한 것인 gcc 컴파일러는 이미 데비안에서 사용할 수 있습니다. 이제 나머지 항목을 다운로드해 보겠습니다.

    모든 종속성을 다운로드하고 설치한 후 추출된 Asterisk 아카이브가 있는 폴더에서 다음 명령을 실행합니다.

    명령은 오류 없이 완료되어야 합니다. 이로 인해 일부 종속성이 누락되었다는 메시지가 나타나면 해당 종속성을 설치하십시오.

    Asterisk를 컴파일하기 전에 개별 모듈을 활성화하거나 비활성화할 수 있습니다.

    모듈 목록이 포함된 콘솔 애플리케이션이 열립니다. 목록에서 키를 위아래로 움직여 키를 켜고 끌 수 있습니다. 일부 추가 모듈에는 종속성을 설치해야 합니다. 이 작업은 다음을 사용하여 수행할 수 있습니다. 적절한.

    이제 Asterisk 컴파일을 시작해 보자. 콘솔에 익숙한 명령을 입력하십시오.

    1. 소스 코드 빌드:

    2. 시스템 디렉토리에 설치:

    컴파일이 오류 없이 완료되면 다음 명령을 실행해야 합니다.

    이것으로 설치가 완료됩니다. Asterisk가 서버에 성공적으로 설치되었습니다. 다음 명령은 Asterisk 관리 콘솔을 불러옵니다.

    별표 -vvvvvvgc

    별표 설정

    이제 Asterisk 전화 통신 서버를 설정하는 기본 절차를 살펴보겠습니다. 기본적으로 모든 Linux 배포판에서 동일합니다.

    먼저 파일에 다음 텍스트를 추가해야 합니다. sip.conf:

    그러면 모든 SIP 클라이언트(Cisco SIP 전화, xlite, ATA 등)에서 사용할 수 있는 5개의 계정이 생성됩니다. 모든 사용자는 Asterisk에 등록됩니다. 이 구성이 작동하지 않으면 소프트웨어 설정을 완료하기 전에 방화벽을 비활성화해 보십시오.

    첫 번째 다이얼 플랜 만들기

    번호 계획(다이얼 플랜)은 전화 통화 처리 프로세스에 대한 공식화된 설명을 제공합니다. 다이얼 플랜은 발신 및 수신 통화에 대해 수행할 작업을 시스템에 자세히 알려줍니다. 예를 들어 Asterisk는 메시지를 전달하고 자동 응답으로 응답하는 등의 작업을 수행할 수 있습니다.

    파일 열기 확장명.conf폴더에 /etc/별표그리고 거기에 다음 줄을 추가하세요:

    내선=> _XXXX,1,다이얼(SIP/$(EXTEN))

    이제 구성된 모든 SIP 클라이언트가 전화를 받고 보낼 수 있습니다. 다이얼플랜 설정이 간편하기 때문에 Asterisk는 가장 친숙한 IP 전화 통신 플랫폼 중 하나입니다. 사무실 PBX를 설정하는 데는 많은 기술이 필요하지 않습니다.

    첫 번째 SIP 트렁크 만들기

    별표는 발신 및 수신 전화를 걸 수 있습니다. 발신 통화의 경우 공급자가 통화를 당사 시스템과 공용 IP 주소로 전달해야 합니다.

    이렇게 하려면 클라이언트 장비와 전화 교환원 간의 가상 통신 채널인 SIP 트렁크를 구성해야 합니다. Asterisk가 있는 서버가 클라이언트 장비로 작동하는 경우 트렁크를 설정하면 SIP 프로토콜을 사용하여 원하는 수의 도시 전화 번호를 연결할 수 있습니다.

    트렁크를 생성하려면 파일에 다음 코드를 추가하세요. sip.conf:

    이 후에는 입력해야합니다 확장명.conf한 줄 더:

    내선 => _XXXXXXX.,1,다이얼(SIP/트렁크1/$(EXTEN))

    이를 통해 공급자와 연결을 설정하여 발신 전화를 걸 수 있습니다.

    결론

    이 기사에서 설치에 대해 설명한 Asterisk를 기반으로 본격적인 사무실 PBX를 설정하려면 위에서 설명한 것보다 더 많은 절차가 포함됩니다. 전화 통신 서버 및 해당 기능에 대한 자세한 정보는 공식 Asterisk 문서에 나와 있습니다.

    Asterisk는 Linux 운영 체제용 VoIP, SIP 및 PJSIP 프로토콜을 지원하는 오픈 소스 컴퓨터 전화 통신 솔루션입니다. 적절한 장비를 컴퓨터에 연결하면 Asterisk를 사용하여 본격적인 ATC 스테이션을 만들 수 있습니다. 프로그램의 주요 기능 중에는 음성 메일, 회의, 대화형 음성 메뉴 및 통화 분배가 있습니다.

    이 기사에서는 Ubuntu 16.04에 Asterisk 13을 설치하는 방법을 살펴보겠습니다. 프로그램의 최신 버전은 일반 사용자가 자주 사용하지 않기 때문에 공식 저장소에 없으므로 소스에서 빌드해야 합니다.

    Ubuntu 16.04에 별표 설치

    소스에서 빌드하려면 슈퍼유저로서 대부분의 작업을 수행해야 하므로 시스템에서 즉시 모든 권한을 얻게 됩니다.

    ssh를 통해 루트로 서버에 로그인하는 경우 일반 사용자로 연결한 다음 루트 콘솔로 전환해야 합니다. 다음으로 프로그램이 작동하려면 종속성을 설치해야 합니다.

    apt-get 설치 필수 빌드 wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion

    CD /usr/src
    $ wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

    소스의 압축을 풀려면 다음을 입력하세요.

    tar zxvf 별표-13-current.tar.gz

    프로그램을 컴파일하기 전에 pjproject를 빌드하고 설치해야 합니다. 먼저 소스를 다운로드하세요.

    자식 클론 자식://github.com/asterisk/pjproject pjproject
    $ cd pj프로젝트
    $ ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS="-O2 -DNDEBUG"
    $ make dep make && make install
    $ldconfig
    $ ldconfig -p|grep pj

    마지막으로 이제 Ubuntu 16.04에 Asterisk를 빌드하고 설치할 준비가 되었습니다.

    CD .. contrib/scripts/get_mp3_source.sh
    $ contrib/scripts/install_prereq 설치

    이 명령을 사용하면 mp3 재생을 위한 일부 종속성을 설치할 수 있습니다. 완료하는 데 다소 시간이 걸릴 수 있으며 국가 코드도 입력해야 합니다. 다음으로 조립을 시작합니다.

    ./configure && make menuselect && make && make install

    설치가 완료되면 다음 명령을 실행하여 수백 개의 구성 파일을 수동으로 생성하지 않도록 하십시오.

    별표가 자동으로 시작되도록 허용하는 초기화 스크립트를 설치하려면 다음을 실행하세요.

    ldconfig 구성 만들기

    이제 별표 서버를 시작하고 모든 것이 실제로 작동하는지 확인할 수 있습니다.

    서비스 별표 시작

    터미널을 통해 유틸리티에 대한 정보를 확인하세요.

    모든 것이 올바르게 완료되고 Ubuntu 16.04에 Asterisk가 성공적으로 설치되면 모든 것이 작동합니다.

    Ubuntu 16.04에서 별표 설정

    프로그램은 슈퍼유저로 실행됩니다. 하지만 별표 사용자로 실행할 수 있으려면 몇 가지 설정을 더 수행해야 합니다. 이렇게 하면 시스템이 더욱 안전해집니다. 먼저 실행 중인 서비스를 중지해야 합니다.

    그룹별표 추가
    $ useradd -d /var/lib/asterisk -g 별표 별표

    다음으로 프로그램이 원하는 사용자로 실행되도록 초기화 스크립트를 변경해야 합니다. /etc/default/asterisk 파일을 수동으로 편집할 수 있지만 다음 명령을 사용하는 것이 더 쉽습니다.

    sed -i "s/#AST_USER="별표"/AST_USER="별표"/g" /etc/default/asterisk
    $ sed -i "s/#AST_GROUP="별표"/AST_GROUP="별표"/g" /etc/default/asterisk

    모든 것이 올바르게 작동하려면 별표 사용자에게 모든 프로그램 디렉토리에 대한 액세스 권한을 부여해야 합니다.

    chown -R 별표:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/(lib,log,spool)/asterisk /usr/lib/asterisk

    또한 asterisk.conf 파일의 runuser 및 rungroup 필드에 대한 올바른 사용자 설정을 표시합니다.

    sed -i "s/;runuser = 별표/runuser = 별표/g" /etc/asterisk/asterisk.conf

    $ sed -i "s/;rungroup = 별표/rungroup = 별표/g" /etc/asterisk/asterisk.conf

    모든 것이 준비되면 이전에 중지한 서비스를 시작하거나 중지하지 않은 경우 재부팅하세요.

    sudo 서비스 별표 시작

    그런 다음 다음을 확인합니다.

    사용자와 그룹이 별표로 표시되어 있으면 모든 작업을 올바르게 수행한 것입니다.

    결론

    그게 다야. Ubuntu 16.04에 Asterisk 13 설치가 완료되었습니다. 이제 추가 네트워크 설정을 진행하여 인터넷을 통해 가입자 간에 직접 전화를 걸 수 있습니다. 클라이언트 소프트웨어로는 Jitsi 또는 Linphone과 같이 필요한 프로토콜을 지원하는 모든 프로그램을 사용할 수 있습니다.

    작가에 대해

    창립자이자 사이트 관리자인 저는 오픈 소스 소프트웨어와 Linux 운영 체제에 열정을 갖고 있습니다. 저는 현재 메인 OS로 Ubuntu를 사용하고 있습니다. Linux 외에도 정보 기술 및 현대 과학과 관련된 모든 것에 관심이 있습니다.

    수신 및 발신 통화 모두에 대한 의 채널 구성 파일입니다.

    각 SIP 클라이언트 또는 서버는 이 파일에서 아래와 유사한 텍스트 블록으로 정의됩니다.


    유형=yyy
    매개변수1=값
    매개변수2=값

    여기서 xxx는 SIP 클라이언트와 연결된 이름이거나 다른 구성 파일에서 참조할 수 있는 임의의 SIP 장치 이름일 수 있습니다. 일반적으로 SIP 전화의 내선 번호가 123인 경우 이 파일의 해당 설정은 행으로 시작됩니다. 이 내선 번호 123에 전화하려면 다이얼 플랜에 이를 설명해야 합니다. "사용자", "동료" 또는 "친구"일 수 있습니다.

    Asterisk 서버는 From: 사용자 이름 헤더(SIP 도메인 무시)를 기반으로 type=user인 클라이언트에 대해 수신 전화가 장치 이름과 일치하는지 여부를 결정합니다. 들어오는 SIP 요청을 처리하는 또 다른 방법은 이 파일의 섹션과 일치하는지 확인하고, 들어오는 요청의 IP 주소를 사용하여 요청이 누구에게서 왔는지 확인하고, 사용자 섹션에서 적절한 Host= 매개 변수 값을 찾는 것입니다. 이 매개변수가 Host=dynamic으로 설정되면 SIP 클라이언트가 서버에 등록될 때까지 일치하는 일치 항목이 없습니다.

    SIP 클라이언트로서의 별표 섹션의 구성 파일에 레지스터 정의를 추가합니다.

    체재:
    등록 => 사용자 [:secret[:authuser]] @host [:port]

    예:
    ; 우리 측의 번호 1234와 같이 sip 제공업체에 2345를 등록하세요.
    등록 => 2345: [이메일 보호됨]/1234

    user - SIP 서버에 사용되는 사용자 ID(예: 2345) authuser - SIP 서버에서 인증을 위한 선택적 사용자 이름 secret - 사용자 비밀번호 호스트 - SIP 서버의 도메인 또는 호스트 이름. 이 SIP 서버는 sip.conf 파일의 자체 섹션에서 정의되어야 하며, 여기서 해당 매개변수를 지정해야 합니다(mysipprovider.com). 포트 - 호스트 서버에 등록 요청을 보낼 포트 번호입니다. 기본적으로 - 5060 /1234 - 별표에서 전화를 받기 위한 내선 번호입니다. 1234 - SIP 헤더 연락처에 SIP 등록 요청을 삽입했습니다. 이 확장은 Asterisk를 호출해야 할 때 원격 SIP 서버에서 사용됩니다. 아래 예를 참조하세요. 기본적으로 상황에 맞는 "s"가 사용됩니다.
    물론 이것은 모두 훌륭하지만 텍스트 파일에서 암호화되지 않은 비밀번호를 사용하는 것은 좋은 생각이 아니지만 지금 무엇을 더 할 수 있습니까?
    a) 전화 통화가 가능해야 하고 b) 당사자 중 한 명이 동적 IP 주소를 가지고 있는 경우에만 등록하면 됩니다. CLI 명령 "SIP SHOW REGISTRY"를 사용하여 서버가 성공적으로 등록되었는지 확인할 수 있습니다. 마찬가지로 "SIP SHOW PEERS" 명령을 사용하여 서버에 등록된 클라이언트 목록을 가져올 수 있습니다. "SIP SHOW PEER" 명령을 사용하면 등록된 클라이언트에 대한 자세한 정보를 볼 수 있습니다. 추가 명령 목록을 얻으려면 CLI 콘솔에서 "HELP SIP" 명령을 실행하십시오.

    발신 전화를 걸기 위한 서버 정의는 다음과 같아야 합니다.


    유형=피어
    비밀=비밀번호
    사용자 이름=2345
    호스트=sipserver.mysipprovider.com
    사용자=2345
    fromdomain=fwd.pulver.com
    nat=예
    컨텍스트=from-mysippprovider ; 이 컨테스트는 Extensions.conf에 정의되어야 합니다.

    Extensions.conf 파일에서 전화를 걸려면 다음과 같은 전화 걸기 규칙이 있어야 합니다.

    내선 => _9.,1,Dial(SIP/$(EXTEN:1)@mysippprovider-out,30,r)

    $(EXTEN:1) 구문은 첫 번째 숫자(이 경우 9 + 숫자 집합)를 제외하고 호출되는 확장 프로그램(패턴 일치)을 포함하는 변수의 전체 내용을 검색합니다. 자세한 내용은 설명의 하위 문자열 작업 섹션을 참조하세요.


    확장 => 1234,1,답변; 1234 - 연락처 정보의 확장자, 기본값 - "s"
    확장 => 1234,2,Dial(SIP/111,25,Ttr) ; 수신 전화는 SIP 전화번호 111로 리디렉션됩니다.
    확장 => 1234.3, 끊기

    SIP 구성 - 일반 섹션 sip.conf 파일의 섹션에는 다음 변수가 포함됩니다.

    = : 허용되는 코덱, 코덱 선택 순서는 이 명령에 설명된 순서에 따라 결정됩니다. (처음 사용: DISALLOW=ALL, 특정 코덱을 허용하기 전) allowedtransfer= yes | no: 버전 1.4.0부터 등장했습니다. "아니요"로 설정하면 모든 유형의 통화 전송이 금지됩니다. (사용자 설정 설명에서 허용된 항목은 제외) =all:모든 코덱 사용을 비활성화합니다(전역 설정).allowguest = yes(기본값) | no: 게스트 호출을 허용하거나 비활성화합니다(기본값 - 예, 별표가 OSP 지원으로 빌드된 경우 값으로 "osp" 매개변수를 지정할 수 있음) = yes | no: 활성화되면 누구나 서버를 피어로 사용할 수 있습니다(액세스를 확인하지 않고 SER SIP 프록시로 작업할 때 편리할 수 있음). binaddr = 0.0.0.0:Asterisk가 SIP 호출의 IP 패킷을 수신할 IP 주소 binport=5060: Asterisk가 SIP 호출의 IP 패킷을 수신할 포트 번호 callerid = : Caller*Id에 대한 정보, 해당 항목이 없을 때 사용됨 , 이 값으로 사용될 수 있습니다. 기본값은 "별표"입니다. (기본값을 재정의하는 기능은 Asterisk 1.0.9에서 사용할 수 있습니다. 다른 버전에 대해서는 잘 모르겠습니다.) = 업데이트 | 예 | 아니요(전역 설정). 어떤 이유로 기본값은 "예"입니다. 주의하세요... context = : 클라이언트가 자체적으로 정의하지 않은 경우 사용되는 기본값입니다. 이 클라이언트별은 해당 클라이언트의 통화를 원하는 대상으로 라우팅하는 데 사용됩니다. 내용은 다이얼 플랜 파일(extensions.conf)에 설명되어 있습니다. defaultexpirey=120: 들어오거나 나가는 등록 기간. : 대역 내 | 정보 | rfc2833(전역 설정) = domains: Asterisk 서버가 담당하는 도메인의 쉼표로 구분된 목록입니다. (별표 1.2.x에 나타남) = 200.201.202.203: 서버가 NAT 뒤에 있는 경우 SIP 메시지에 사용되는 IP 주소입니다. externhost = hostname.tld: (Asterisk 1.2.x의 새 매개변수) externrefresh = xxx: 이 매개변수를 사용하여 "externhost" 매개변수(Asterisk 1.2의 새 매개변수)에 정의된 호스트 이름에 대해 DNS 항목을 검색하는 빈도를 결정합니다. .x) = 192.168.1.0/255.255.255.0: 로컬 네트워크 및 해당 마스크 정의. fromdomain= : SIP ua(클라이언트)로 작업할 때 SIP 메시지의 보낸 사람: 필드에 기본 도메인을 설정합니다. maxexpirey=3600: 허용되는 최대 등록 기간입니다. mineexpiry=60: (Asterisk 1.4.0부터 도입된 변수) 허용되는 최소 로깅 기간. = 예 | no(피어와의 연결 설정) Asterisk 1.0.x에서 nat 매개변수는 다음 값을 사용할 수 있습니다. no | 결코 | 경로 | 예. informmimetype=text/plain: 시스템에서 보낸 메시지에 사용되는 MWI NOTIFY 메시지의 MIME 유형을 재정의할 수 있습니다. pedantic = yes|no: 다중 회선 SIP 메시지 헤더 및 URI 인코딩 헤더의 모든 행과 Call-ID 필드에 대한 느리고 현학적 검사를 활성화합니다. port = : 기본 SIP 포트입니다. (이것은 Asterisk가 IP 패킷을 수신하는 포트가 아닙니다. 매개변수 참조: bindport) promiscredir=yes | no: 302 리디렉션 메시지 지원을 활성화합니다. (아니요 - 통화 대상 필드에 지정된 내선 번호가 아닌 연락처 필드에 수신된 로컬 내선 번호로 모든 것을 전달합니다.) realm = realm(이 설정은 기본값에서 인증을 위한 영역을 변경할 수 있습니다. - Asterisk는 귀하가 선택한 항목에 적용됩니다. Asterisk 버전 1.x부터 작동합니다. 등록 => @ / : SIP 공급자의 서버에 등록합니다. = yes|no: 호출에 대한 검색 활성화 tos= : 이 옵션은 Asterisk 1.4.0부터 제거되었습니다. 발신 미디어 스트림에 대한 IP QoS 매개변수 설정. t1min= : (별표 1.4.0부터 도입된 변수) 상태가 모니터링되고 있는 호스트(모니터링되는 호스트)를 오가는 메시지의 최소 지연 시간(왕복 시간)입니다. 기본값은 100ms입니다. = : (별표 버전 1.4.0부터 변수가 나타남) SIP 패킷에 대한 IP QoS 매개변수를 설정합니다. = : (별표 버전 1.4.0부터 변수가 나타남) RTP 프로토콜을 통해 오디오 데이터를 전송하는 패킷에 대한 IP QoS 매개 변수를 설정합니다. = : (별표 버전 1.4.0부터 변수가 나타남) RTP 프로토콜을 통해 비디오 데이터를 전송하는 패킷에 대한 IP QoS 매개 변수를 설정합니다.
    videosupport=yes|no: SIP 비디오 지원을 활성화합니다. 이 매개변수를 사용하면 SIP 헤더 "User-Agent"의 값을 변경할 수 있습니다. = yes|no: 활성화된 경우 결과 Remote-Party-ID 값을 신뢰할 수 있습니다.

    SIP 구성 - 클라이언트 및 피어 각 SIP 클라이언트의 설명에 다음 변수를 설정할 수 있습니다.

    : 사용자는 특정 액세스 코드(계정 코드)와 연결될 수 있습니다. 에 사용됩니다. : 허용되는 코덱과 금지되는 코덱입니다. : CDR 레코드에 대한 범주입니다. 기본값, 생략, 청구, 문서 중에서 선택할 수 있습니다. 참조: .allowoverlap: 버전 1.4.x부터. 값: 예/아니요, 기본값: 예. "no"로 설정하면 "오버랩 다이얼링" 지원이 비활성화됩니다.allowsubscribe: 버전 1.4.x부터. 값: 예/아니요, 기본값: 아니요. "no"로 설정하면 이 클라이언트의 상태(구독) 추적이 금지됩니다. 버전 1.4.x부터. 이 user.auth에 대한 통화 전송을 허용(예) 또는 거부(아니요): 버전 1.4.x부터. 섹션의 항목에 대한 링크(피어 유형만 해당).autoframing: 버전 1.4.x부터. 자동 프레이밍 활성화(예) 또는 비활성화(아니요)"a.buggymwi: 버전 1.4.x 이후. 값: 예/아니요, 기본값: 아니요. Cisco SIP 펌웨어는 새 음성 메일(MWI)의 존재를 나타내는 RFC를 완전히 지원하지 않습니다. ) 이 문제가 있는 전화기에 MWI를 보낼 때 오류 메시지를 받지 않으려면 이 매개변수를 "yes"로 설정하십시오. 이 장치를 통한 통화에 대한 통화 그룹을 정의합니다.callingpres: 버전 1.4.x CallerId 게시 모드 이후 값을 참조하세요. 배포판 asterisk.call-limit의 doc/callingpres.txt 파일: 버전 1.4.x__부터 사용자에 대한 호출 수 제한. "peer" 유형 - 발신용, "user"용 - 수신: 클라이언트가 다음 기능을 지원하는 경우에만 활성화됩니다: .cid_number: 버전 1.4.x부터 CallerID.context 필드의 숫자 부분: 이 클라이언트에서 들어오는 호출이 속하는 다이얼 플랜 컨텍스트: 클라이언트의 기본 IP 주소 when.host=는 DYNAMIC으로 정의됩니다. 클라이언트가 아직 등록되지 않은 경우 호출해야 하는 경우에 사용됩니다. : 클라이언트가 DMTF 신호를 처리하는 방법입니다. : 이 항목을 사용하여 전화를 걸 때 "보낸 사람" 필드에 대한 사용자 이름을 지정합니다. = : 이 항목을 사용하여 전화를 걸 때 SIP 메시지의 보낸 사람: 필드에 기본 도메인을 설정합니다. 전체 이름: 버전 1.4.x부터. 이름 부분, 필드 CallerID.g726nonstandard: 버전 1.4.x부터. 값: 예/아니요, 기본값: 아니요. 클라이언트가 통신 세션에 G726-32 오디오 코덱을 사용하는 데 "동의"하려는 경우 RFC3551(Sipura의 장치와 Grandstream의 게이트웨이 등에 필요함) 대신 AAL2 압축을 사용합니다. 이는 RFC3551 사양에 위배됩니다. 클라이언트는 대신 AAL2-G726-32를 사용하는 데 _반드시_ "동의"해야 합니다:-(호스트: 클라이언트를 찾는 방법 - IP 주소 또는 호스트 이름. 전화기 자체를 등록해야 하는 경우 IP 주소나 호스트 이름 대신 동적 값을 사용하십시오. : SIP 클라이언트와의 동시 연결 수를 제한합니다. 이러한 매개변수는 더 이상 사용되지 않으며 버전 1.4.x에서는 사용되지 않습니다. : 매우|yes|no|invite|port: 피어에 대한 연결을 처리하는 방법을 정의합니다. 기본값은 "no"(모든 연결에 대해 인증이 활성화됨)입니다. (버전 1.2.x에 초대 및 포트가 추가되었습니다). : 인디케이션.conf 파일에 정의된 언어 코드 - 인사말 언어 및 국가별 전화 톤 설정이 정의됩니다. : 음성 사서함 확장(새 메시지 표시용) maxcallbitrate: 버전 1.4.x부터 시작됩니다. 비디오의 최대 비트 전송률(kbit/s)입니다. 기본값: 384 kbit/s.moh제안: 버전 1.4.x부터. 목적은 sip.conf를 참조하세요. : MD5-해시 문자열: " :asterisk: "(비밀 매개변수 대신 사용할 수 있음).musiconhold: 이 SIP 전화에서 호출되는 musiconhold 클래스를 설정합니다. 이 전화로 걸려오는 전화의 경우 이 클래스 설정은 다이얼 플랜의 Dial 명령보다 우선 순위가 높은(다이얼 플랜의 우선 순위가 낮은) 명령을 사용하여 수행해야 합니다. MusicOnHold 매개변수는 전화가 아닌 통화에 대해 설정되며 명령이 내선 통화를 처리하는 데 사용되는 경우 해당 통화에 대해 이 매개변수에 지정된 값을 재정의합니다. : 이 변수는 Asterisk 서버가 NAT 방화벽 뒤의 클라이언트에 대해 동작하는 방식을 변경합니다. 그러나 Asterisk 자체가 방화벽 뒤에 있고 클라이언트가 외부(일반 IP 주소를 사용하는 인터넷)에 있는 경우 이 매개변수는 문제를 해결하지 못합니다. outboundproxy: 발신 호출을 위한 프록시 서버 주소(피어 유형만 허용). : 클라이언트의 IP 제한 주소 및 IP 네트워크입니다. 참고: 버전 1.4.x에서는 마스크 매개변수가 더 이상 사용되지 않습니다. : "*8" 조합과 Pickup() 애플리케이션을 사용하여 확장 *8.port: client.progressinband의 SIP 포트: 버전 1.4.x부터 시작하여 동료에게 "픽업" 통화를 위한 그룹입니다. 값: 예/아니요/안함, 기본값: 안 함. 별표는 발신자에게 벨소리를 독립적으로 생성해야 합니다(대역 내 벨소리). 일부 이상한 장치가 자체적으로 신호를 생성할 수 없는 경우에도 이 신호를 생성하지 않으려면 "never" 값을 사용하세요. 버전 1부터. 4.x. 값: 예/아니요, 기본값: 아니요. "yes"로 설정하면 코드 302가 포함된 SIP 메시지 또는 착신 전환 메시지가 로컬 IP 주소가 아닌 SIP 클라이언트로 전송되도록 허용합니다. 로컬 시스템에서 이루어진 호출을 전달할 때 promiscredir의 동작으로 인해 호출 루프가 발생할 수 있다는 점은 주목할 가치가 있습니다. Asterisk는 헤어핀 통화를 처리할 수 없습니다. : 주기적으로 클라이언트 가용성을 확인합니다. strictcid: (예/아니요) 이 옵션은 사용되지 않습니다. 대신 callpres를 사용하십시오. rfc2833compensate: 버전 1.4.x부터. 값: 예/아니요, 기본값: 아니요. 최대 1.4.*의 다른 별표 서버 버전에서 DTMF 신호 전송에 대한 보상을 활성화합니다. 이러한 경우 이 기능을 활성화해야 합니다. 그렇지 않으면 DTMF 신호 수신이 제대로 작동하지 않습니다. : x초 이상 RTP 미디어 스트림 활동이 없고 회선이 대기 모드에 있지 않은 경우 통화를 종료합니다. : 대기 모드에서 x초 이상 RTP 미디어 스트림 활동이 없으면 통화를 중단합니다(값은 rtptimeout보다 커야 함).secret: Asterisk가 SIP 서버로 작동하는 경우 이 SIP 클라이언트는 이 비밀번호로 인증되어야 합니다. (공유 비밀). Asterisk가 "SIP INVITE" 요청에 대한 인증이 필요한 원격 SIP 서버와 작동하는 SIP 클라이언트 역할을 하는 경우 이 필드는 Asterisk가 원격 SIP 서버로 보내는 "SIP INVITE" 메시지의 인증에 사용됩니다.sendrpid : Remote-Party-Id 헤더를 이 SIP 클라이언트에 보낼지 여부입니다. 값: yes/no, 기본값: yes.setvar: 버전 1.4.x부터. 값은 이 device.subscribecontext에서 호출할 때 채널 변수에 대한 "variable=value" 쌍을 지정합니다. 버전 1.4.x부터 시작됩니다. SIP 요청이 처리될 컨텍스트의 이름을 지정합니다. SUBSCRIBE.subscribemwi: 버전 1.4.x부터. 값은 "예"와 "아니요"입니다. 목적은 sip.conf.t38pt_udptl: 버전 1.4.x부터 참조하세요. 값: 예/아니요, 기본값: 아니요. 이 클라이언트에 대한 T.38 지원을 활성화/비활성화합니다. : 값: 예/아니요, 기본값: 아니요. SIP 클라이언트로부터 받은 Remote-Party-ID를 신뢰할 수 있으면 "yes"로 설정하십시오. : 클라이언트 유형 - 발신 전화만, 수신 전화만, 아니면 둘 다 사용합니까? 클라이언트 코드: 버전 1.4.x부터. 값: yes/no, 기본값: no.usereqphone: 버전 1.4.x부터. 값은 "예"와 "아니요"입니다. 일반 발신번호가 포함된 URI에 ";user=phone"을 추가할지 여부입니다. : Asterisk가 "SIP INVITE" 요청에 대한 인증이 필요한 원격 SIP 서버와 함께 작동하는 SIP 클라이언트 역할을 하는 경우 이 필드는 Asterisk가 원격 SIP 서버로 보내는 "SIP INVITE" 메시지의 인증에 사용됩니다. . 또한 Asterisk 서버에 등록하는 피어의 경우 이 사용자 이름이 INVITE 메시지에 사용되는 경우 server.videosupport에 등록되어 있는 한: 값: 예/아니요, 기본값: 예. SIP 비디오 지원을 활성화하는 옵션입니다. 예를 들어 구성의 전역 부분에서 비활성화되어 있고 특정 사용자에 대해서만 선택적으로 활성화하려는 경우 특정 SIP 클라이언트에 대한 비디오 지원을 활성화해야 할 수 있습니다.vmexten: 버전 1.4.x부터. 목적은 sip.conf(피어 유형에만 해당)를 참조하세요.

    Asterisk는 (아직) TCP 전송을 통한 SIP를 지원하지 않습니다. UDP 프로토콜을 통해서만 지원됩니다. Grandstream 전화기의 경우: dtmfmode=info 매개변수를 설정하고 GXP2000의 경우 dtmfmode=inband Asterisk는 들어오는 스트림을 나가는 스트림을 보내기 위한 타이밍 소스로 사용합니다. 무음 억제 기능으로 인해 수신 스트림이 중단되면 뮤직홀드의 품질이 매우 저하됩니다. 따라서 무음 억제 기능을 사용할 수 없습니다. 모든 SIP 전화기에 무음 억제 기능이 비활성화되어 있는지 확인하십시오. 예 Asterisk와 함께 작동해야 하는 각 SIP 클라이언트는 SIP.CONF 파일에 정의되어야 합니다. 다음은 몇 가지 예입니다.


    유형=친구 ; "친구"(즉, 피어+사용자), "피어" 또는 "사용자"일 수 있습니다.
    컨텍스트=from-sip
    사용자 이름=grandstream1 ; 일반적으로 이 매개변수는 섹션 이름과 일치합니다.
    fromuser=그랜드스트림1 ; 예를 들어 호출자 ID를 다시 할당합니다.
    ; 통화 전달에 필요할 수 있음 - FWD
    발신자 ID=John Doe
    호스트=192.168.0.23 ; 우리는 정적이지만 인트라넷 IP 주소를 사용합니다.
    nat=아니요 ; 휴대폰과 Asterisk 간에는 IP 주소 변환(NAT)이 없습니다.
    다시 초대할 수 있습니다=예 ; 모든 RTP 음성 트래픽이 별표(Asterisk)를 통과하도록 강제
    dtmfmode=정보 ; 예를 들어 BudgeTone 전화기의 경우 INBAND 및 INFO일 수 있습니다.
    메일함=1234@기본값 ; 클라이언트에는 voicebox 컨텍스트에 voicebox 1234가 있습니다: "default"
    허용하지 않음=모두 ; 허용= 매개변수를 사용하기 전에 disallow=al을 설정해야 합니다.
    허용=ulaw ; 참고: 클라이언트 섹션에서 코덱이 선택되는 순서
    ; 허용= 매개변수에 설명된 내용은 의미가 없습니다!
    ;허용=알라
    ;허용=g723.1 ; Asterisk는 통과 모드에서만 g723.1 코덱을 지원합니다!
    ;허용=g729 ; Pass-thru 모드에서만 g729 코덱을 사용할 수 있는 라이센스가 없는 경우


    X-Lite 클라이언트에서 묵음 억제 기능을 끄십시오("Transmit Silence"=YES)!
    ;Xlite 자체가 NAT Keep-Alive 패킷을 전송하므로Qualify=yes가 필요하지 않습니다.
    유형=친구
    사용자 이름=xlite1
    callerid="제인 스미스"
    호스트=동적
    nat=예 ; X-Lite 클라이언트는 NAT(IP 주소 변환) 기능이 있는 라우터 뒤에 있습니다.
    다시 초대할 수 있음=아니요 ; 클라이언트가 NAT 뒤에 있는 경우 일반적으로 "NO"로 설정됩니다.
    허용하지 않음=모두
    허용=gsm ; GSM 코덱은 훨씬 적은 대역폭을 필요로 하므로 ulaw.
    허용=ulaw
    허용=알람


    유형=친구
    비밀=ㅋㅋㅋㅋ
    호스트=동적
    dtmfmode=대역내 ; 인밴드, rfc2833 또는 정보 중에서 선택할 수 있습니다.
    기본ip=192.168.0.59
    사서함=1234,2345 ; "새 메시지 수신됨" 표시에 대한 음성 상자
    허용하지 않음=모두
    허용=ulaw ; dtmf 모드가 "inband"로 설정된 경우
    허용=알라; 그러면 g.711 코덱만 사용해야 합니다


    유형=친구
    사용자 이름=user2_pingtel
    비밀=ㅋㅋㅋㅋ
    호스트=동적
    자격=1000 ; 우리는 클라이언트를 일하지 않는 것으로 간주합니다.
    ; 그 사람의 응답이 1초 이상 걸리는 경우.
    통화그룹=1,3-4 ; 클라이언트는 통화 그룹 1, 3, 4의 구성원입니다.
    픽업그룹=1,3-4 ; *8을 누르면 "픽업" 전화를 걸 수 있습니다.
    ; 그룹 1, 3, 4의 통화용
    기본ip=192.168.0.60
    허용하지 않음=모두
    허용=ulaw
    허용=알람
    허용=g729

    유형=친구
    사용자 이름=user3_cisco
    비밀=ㅋㅋㅋㅋ
    nat=예 ; 이 휴대전화는 NAT가 있는 라우터 뒤에 있습니다.
    호스트=동적
    다시 초대할 수 있음=아니요 ; Cisco 장치가 때때로 정지됨
    ; 일정 횟수의 재초대 요청 후
    자격=200 ; 우리는 잔치를 일하지 않는 것으로 간주합니다.
    ; 응답이 200ms보다 길면
    기본ip=192.168.0.4
    허용하지 않음=모두
    허용=ulaw
    허용=알람
    허용=g729


    유형=친구

    사용자 이름=user4_cisco
    fromuser=마크스터 ; callerid 대신 "from" 필드에 배치할 사용자 이름을 정의합니다.
    비밀=ㅋㅋㅋㅋ
    defaultip=192.168.0.4 ; Host=dynamic 또는 defaultip=... 중 하나를 사용하십시오.
    amaflags=기본값 ; 다음이 될 수 있습니다: 기본값, 생략, 청구, 문서
    계정코드=markster ; 사용자는 청구를 단순화하기 위해 계정 코드와 연결됩니다.
    허용하지 않음=모두
    허용=ulaw
    허용=알람
    허용=g729
    허용=g723.1

    아래 설명은 Digium Asterisk 핸드북에서 가져온 것입니다.

    SIP.conf 파일에서 클라이언트에 대해 이러한 SIP 계정을 정의한 후에는 해당 클라이언트가 별표 서버에 등록하고 전화를 걸 수 있는 기회를 갖게 됩니다. 상대방이 전화를 받을 수 있도록 하려면 다이얼 플랜 파일에 내선 번호를 설명해야 합니다. 예:

    내선 => 1010,1, 다이얼(SIP/user3_cisco,10,t)

    누군가 1010으로 전화를 걸면 user3_cisco로 등록된 SIP 클라이언트로 전화를 시도합니다.

    설명 $(VXML_URL) 변수를 사용하여 SIP "받는 사람:" 메시지 헤더에 추가 요소를 추가할 수 있습니다. 이 변수의 값은 SIP 메시지의 "To:" 헤더 끝에 세미콜론으로 구분되어 추가됩니다. 이 기능 사용에 대한 이전 설명이 잘못되었습니다. Cisco 7960 전화기(현재 Cisco 전화기의 SIP 펌웨어에서 비활성화된 기능)로 메시지를 다운로드할 때 이 변수를 사용해도 아무런 효과가 없습니다. 이 문제는 작성자의 이메일에 설명되어 있습니다.$(ALERT_INFO) 변수를 사용하면 펌웨어 버전 6.0 이상을 실행하는 Cisco SIP 전화기에서 특정 벨소리 유형을 지정하는 데 사용할 수 있는 "Alert-Info:"라는 새 헤더를 생성할 수 있습니다. 전화기의 경우 ALERT_INFO 변수는 다음 값을 사용하여 특정 내장 벨소리를 설정할 수 있습니다. - Bellcore-BusyVerify
    - 벨코어-스터터
    - Bellcore-MsgWaiting
    - 벨코어-dr1
    - 벨코어-dr2
    - 벨코어-dr3
    - 벨코어-dr4
    - 벨코어-dr5
    현재로서는 다른 통화를 정의할 수 있는 방법이 없습니다. 통화 재생 옵션만 선택할 수 있습니다. 호출음이 어떤 방식으로든 실제로 다르다는 것을 말하려면 매우 주의 깊게 들어야 합니다. Cisco에 버그 보고서가 있습니다: Cisco 버그 ID CSCec42938, 호출 신호 선택 기능을 완료하는 것이 제안되었습니다. 예 1 John Todd, loligo.com: http://www.loligo.com/asterisk/current/sip.conf NAT를 사용하지 않고 Free World Dialup에 연결 [일반]
    허용하지 않음=모두
    허용=gsm
    허용=ulaw
    허용=알람
    컨텍스트=from-sip
    최대만료=180
    기본만료=160
    tos=신뢰성
    등록 => : @fwd.pulver.com/CONTACT

    [fwd.pulver.com]
    유형=친구
    비밀=
    사용자 이름=
    호스트=fwd.pulver.com
    안전하지 않음=매우 ; 수신 FWD 통화를 지원하는 데 필요

    이제 파일 설명으로 이동하여 다이얼링 측면에서 컨텍스트를 구성하는 방법을 살펴보겠습니다.

    예 2 SIP 프록시 SER과 함께 별표 사용 [일반]
    문맥=발신
    autocreatepeer=예

    [공급자]
    유형=친구
    사용자 이름=XXXXXX
    비밀=XXXXXX
    호스트=xxxxx.FakeProvider.com

    따라서 이제 Asterisk가 SER로 호출을 받으면 "autocreatepeer" 작업을 수행하고 호출이 OUTGOING 컨텍스트에서 처리되도록 허용합니다.

    외부 소스에서 sip.conf 관리: SIP 채널용 RealTime 메커니즘을 사용합니다. 다른 .conf 파일과 마찬가지로 #include 지시문을 사용하여 sip.conf 구성에 다른 파일을 포함할 수 있습니다. 다양한 버전에 대한 참고 사항: 버전 0.7.2 2004-01-23 이후 추가 기능: CLI 명령 "sip" 추가 reload"를 선택하면 Asterisk 서버를 재부팅하지 않고도 sip.conf 파일의 변경 사항이 적용되도록 sip 채널을 재부팅할 수 있습니다. 2004-01-25: 데이터베이스에 SIP 피어 정의 저장을 지원합니다. 데이터베이스에 구성을 저장하는 기능은 현재 완전히 구현되지 않았지만 작동합니다. 참조: 2004-06: 데이터베이스에 SIP 사용자 정의 저장 지원.

    질문이 있으신가요?

    오타 신고

    편집자에게 전송될 텍스트: