<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tamkovich.com: Телеком/VoIP блог &#187; addpac</title>
	<atom:link href="http://tamkovich.com/tag/addpac/feed/" rel="self" type="application/rss+xml" />
	<link>http://tamkovich.com</link>
	<description>Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys</description>
	<lastBuildDate>Mon, 30 Jan 2012 11:42:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Настройка AddPac AP1100 для работы с Asterisk</title>
		<link>http://tamkovich.com/2011/03/configuring-addpac-ap1100-for-asterisk/</link>
		<comments>http://tamkovich.com/2011/03/configuring-addpac-ap1100-for-asterisk/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 12:24:12 +0000</pubDate>
		<dc:creator>Сергей Тамкович</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[addpac]]></category>

		<guid isPermaLink="false">http://tamkovich.com/?p=1806</guid>
		<description><![CDATA[Китайская компания AddPac начала свою историю клонируя оборудование фирмы Cisco &#8211; так называемые &#171;АТАшки&#187;. С тех пор утекло много воды и теперь, большая часть линейки устройств &#8211; собственные разработки AddPac. От старых времён остался синтаксис конфигурационного файла, который очень похож на синтаксис Cisco. Благодаря этому, большинству опытных пользователей IP-телефонии не составит труда настроить телефонный шлюз [...]]]></description>
			<content:encoded><![CDATA[<p align=justify>
Китайская компания AddPac начала свою историю клонируя оборудование фирмы <a href=http://tamkovich.com/cisco/ >Cisco</a> &#8211; так называемые &laquo;АТАшки&raquo;. С тех пор утекло много воды и теперь, большая часть линейки устройств &#8211; собственные разработки AddPac. От старых времён остался синтаксис конфигурационного файла, который очень похож на синтаксис <a href=http://tamkovich.com/cisco/ >Cisco</a>. Благодаря этому, большинству опытных пользователей IP-телефонии не составит труда настроить телефонный шлюз AddPac AP1100 для работы с <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. Тем же, кто не совсем понимает о чём речь &#8211; посвящается эта статья.
</p>
<p align=justify>
Подключиться к устройству можно двумя способами: telnet или последовательный порт (com порт / serial / rs-232 и т.д.). Для того что бы подключиться к устройству по telnet необходимо знать IP адрес устройства, логин и пароль. Если вы не знаете IP-адрес, или он не установлен, вам придётся подключиться к устройству с помощью последовательного порта. Параметры COM порта для подключения к AddPac: Speed &#8211; 9600 Baud, Data bits &#8211; 8, Stop bits &#8211; 1, Parity &#8211; None. Логин и пароль по умолчанию &#8211; root и router соответственно. Устройство AddPac подразумевает два режима &#8211; режим управления и режим настройки. При подключении у устрйоству AddPac, вы попадаете в режим управления. Для перехода в режим настройки необходимо ввести команду:
</p>
<p><span id="more-1806"></span></p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">conf t</pre></div></div>

<p align=justify>
Для выхода из режима настройки в режим управления можно нажать комбинацию клавишь Ctrl-Z, или воспльзоваться командой
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">exit</pre></div></div>

<p align=justify>
Весь конфигурационный файл, представляет собой текстовый файл содержащий в себе команды AddPac в определённом порядке. Для того что бы посмотреть текущие настройки необходимо использовать команду
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">sh run</pre></div></div>

<p align=justify>
Для того, что бы сохранить изменения в настройках, сделанные вами во флеш память (что бы они не потерялись при перезагрузке устройства) пригодится команда
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">wr</pre></div></div>

<p align=justify>
Теперь, когда нам известны базовые приёмы работы с оборудованием AddPac, рассмотрим основные настройки телефонного шлюза AddPac AP1100 при подключении к <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. Перво-наперво нам следует настроить сетевой интерфейс шлюза и маршрут по умолчанию (так называемый default gateway). Делается это следующим образом:
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">interface ether0.0
 ip address 192.168.33.201 255.255.255.224
!
route 0.0.0.0 0.0.0.0 192.168.33.193</pre></div></div>

<p align=justify>
Первая команда &#8211; активирует контекст интерфейса ether0.0 &#8211; первого Ethernet порта на устройстве AddPac. Переход в контекст интерфейса <i>ether0.0</i> означает, что команды следующий за этой относятся к первому порту а не ко второму. Вторая строка Устанавливает IP адрес и маску для интерфейса <i>ether0.0</i>. Обратите внимание на строку номер 3 &#8211; она содержит восклицательный знак. Восклицательный знак и всё сто следует за ним &#8211; это комментарий. AddPac, в выводе команды <i>sh run</i> вставляет пустые строки с комментариями для лучшей наглядности. Четвертая строка создаёт маршрут к сети 0.0.0.0 с маской 0.0.0.0 &#8211; т.е. ко всем сетям. Таким образом происходит указание шлюза по умолчанию &#8211; в нашем случае 192.168.33.193. Обратите внимание, что команда <i>route</i>, в отличие от команды <i>ip address</i> не относится к команде <i>interface</i>.
</p>
<p align=justify>
Теперь, когда IP сеть работает, можно переходить к настройкам IP телефонии. Первым делом установим глобальные настройки для факсов.
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">voice service voip
 fax protocol t38 redundancy 1
 fax rate 9600</pre></div></div>

<p align=justify>
Данный пример состоит из трёх строк. Первая строка активирует контекст IP-телефонии, т.е. команды следующие за ней будут относится к общим (глобальным) настройкам IP телефонии, а не к чему то ещё. Вторая строка устанавливает протокол для передачи факса, в нашем случае это T.38. Параметр <i>redundancy 1</i> устанавливает избыточность. Избыточность это один из механизмов протокола T.38 для борьбы с потерей пакетов. Суть его заключается в том, что вслед каждому оригинальному пакету T.38 будет отправлено N копий этого пакета. В нашем случае N=1. Последняя строка устанавливает максимальную скорость передачи факсов. Вообще, максимум для факсов является скорость 14400, однако следует понимать, что чем выше скорость на которой происходит передача факсов по IP сети, тем выше вероятность сбоя. На мой взгляд скорость 9600 является неплохим компромиссом между удобством (быстротой передачи) и надёжностью.
</p>
<p align=justify>
Теперь настроим параметры доступа к нашему <a href=http://tamkovich.com/asterisk/ >Asterisk</a> по протоколу <a href=http://tamkovich.com/tag/sip/ >SIP</a>. Данные настройки осуществляются в контексте <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-ua</i>, поэтому, как вы уже догадались, первая строчка нашего примера активирует этот контекст:
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">sip-ua
 user-register
 sip-server 192.168.33.208
 timeout treg 3600
 register e164</pre></div></div>

<p align=justify>
Команды начинающиеся с &#8216;<a href=http://tamkovich.com/tag/sip/ >SIP</a>-&#8217; описывают <a href=http://tamkovich.com/tag/sip/ >SIP</a> сервер и параметры доступа к нему. Так строчка <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-server</i> содержит IP адрес нашего <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. Таких команд может быть две. Первая будет содержать IP адрес основного <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. Вторая команда <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-server</i> (если она есть) будет содержать IP адрес запасного <a href=http://tamkovich.com/asterisk/ >Asterisk</a> &#8211; и будет использоваться в случае неработоспособности первого. Команды <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-name</i> и <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-password</i> задают <a href=http://tamkovich.com/tag/sip/ >SIP</a> логин и пароль которые могут быть использованы при работе с нашим <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. Команда <i>user-register</i> включает регистрацию на <a href=http://tamkovich.com/asterisk/ >Asterisk</a> с помощью <a href=http://tamkovich.com/tag/sip/ >SIP</a> логина и пароля. Команда <i>register e164</i> сообщает нашему AddPac-у, что для регистрации надо использовать параметры с телефонных портов. Т.е. благодаря этой команде каждый телефонный порт будет зарегистрирован отдельно на нашем <a href=http://tamkovich.com/asterisk/ >Asterisk</a> &#8211; и мы сможем настраивать роутинг звонков на нём.
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">! FXS
voice-port 0/0
 caller-id enable
!
!
! FXS
voice-port 0/1
 caller-id enable</pre></div></div>

<p align=justify>
Простейшие настройки для FXS портов (мы настраиваем два из восьми). Включаем технологию CallerID для каждого порта.
</p>
<p align=justify>
Перед тем, как перейти к следующему примеру, отвлечемся и поговорим о диалпирах (<i>dial-peer</i>). Каждый звонок, проходящий через шлюз имеет две &laquo;ноги&raquo; (call-leg). Например, если звонок пришёл с port 0/0 и ушёл на <a href=http://tamkovich.com/tag/sip/ >SIP</a> сервер, то считается, что у данного звонка одна нога &#8211; POTS и вторая нога &#8211; VoIP. Параметры для каждой ноги описываются специальной структурой &#8211; диалпиром (<i>dial-peer</i>). Различают POTS и VOIP диалпиры. Кроме этого, каждый диалпир может быть использован как входящий или как исходящий.
</p>
<p><center><img src=/wp-content/uploads/2011/03/in_out_dial_peers2.gif border=0></center></p>
<p align=justify>
Именно с помощью диалпиров устройство решает что делать со звонком &#8211; куда и как его направить. В нашем примере устройству понадобится два диалпира: входящий POTS диалпир, который установит параметры для телефонного порта и исходящий VoIP диалпир, который направит звонок на наш <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. Более подробно про диалпиры и роутинг звонков можно почитать вот здесь (английский язык):
</p>
<ul>
<li> <a href=http://www.cisco.com/en/US/tech/tk652/tk90/technologies_tech_note09186a008010ae1c.shtml>Understanding Dial Peers and Call Legs on Cisco IOS Platforms</a>
<li> <a href=http://www.cisco.com/en/US/tech/tk652/tk90/technologies_tech_note09186a0080147524.shtml>Understanding Inbound and Outbound Dial Peers on Cisco IOS Platforms</a>
<li> <a href=http://www.cisco.com/en/US/tech/tk652/tk90/technologies_tech_note09186a008010fed1.shtml>Understanding Inbound and Outbound Dial Peers Matching on IOS Platforms</a>
</ul>
<p align=justify>
Вернёмся к нашему AddPac-у и рассмотри, какие диалпиры потребуются нам для работы нашего шлюза. Для нашего шлюза (напомню: мы настраиваем 2 FXS порта из 8) понадобится 3 диалпира: по одному POTS диалпиру на каждый FXS порт + 1 диалпир на VoIP сеть.
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">dial-peer voice 1 pots
 destination-pattern 101
 port 0/0
 user-password XagsaR9A
!
dial-peer voice 2 pots
 destination-pattern 102
 port 0/1
 user-password YGygs3de
!
!
!
! Voip peer configuration.
!
dial-peer voice 1000 voip
 destination-pattern T
 session protocol sip
 session target sip-server
 codec g711alaw
 dtmf-relay rtp-2833
 no vad
 translate-outgoing called-number 1
 fax protocol t38 redundancy 1</pre></div></div>

<p align=justify>
Каждый диалпир (<i>dial-peer</i>) должен иметь уникальный номер. Тип диалпира определяется ключевым словом следующим за уникальным номером. Номера можно выбирать произвольно. Команда <i>dial-peer voice 1 pots</i> создаёт POTS диалпир с номером 1, команды идущие следом &#8211; определяют параметры данного диалпира. Команды port и <i>destination-pattern</i> используются для выбора входящего и исходящего диалпира (роутинга звонков внутри устройства AddPac). Так, если звонок придёт с порта 0/0 он будет ассоциирован с диалпиром номер 1, потому что это единственный в системе диалпир у которого указан port 0/0. Если пользователь с порта 0/0 любую комбинацию цифр кроме 102 &#8211; вызов будет направлен в диалпир 1000, т.к. конструкция <i>destination-pattern T</i> совпдает с любыми набранными цифрами. Если же пользователь наберёт 102, то вызов будет направлен в диалпир номер 2, а следовательно в телефонный порт 0/1. Дело в том, что с набранным номером 102 совпадают два диалпира: диалпир 2 (<i>destination pattern 102</i>) и диалпир 1000 (<i>destination-pattern T</i>), однако диалпир 2 будет иметь приоритет, т.к. шаблон указанный в нём &#8211; длинее. Команда <i>user-password</i>, указанная в POTS диалпирах определяет <a href=http://tamkovich.com/tag/sip/ >SIP</a> пароль, который будет использоваться для регистрации на нашем <a href=http://tamkovich.com/asterisk/ >Asterisk</a> и авторизации звонков совершённых с этого порта. <a href=http://tamkovich.com/tag/sip/ >SIP</a> логин, для регистрации устанавливается командой <i>destination-pattern</i> или командой <i>user-name</i>, если необходимо указать <a href=http://tamkovich.com/tag/sip/ >SIP</a> логин, отличающийся от шаблона указанного в destination-pattern.
</p>
<p align=justify>
Теперь рассмотрим диалпир 1000. Шаблон T (<i>destination-pattern T</i>) означает что этот диалпир будет соответствовать любому набранному номеру. Команда <i>session protocol <a href=http://tamkovich.com/tag/sip/ >SIP</a></i>, указывает что соединение с сервером VoIP следует устанавливать по протоколу <a href=http://tamkovich.com/tag/sip/ >SIP</a>. Команда <i>session target</i> используется для указания IP адреса сервера IP-телефонии. В нашем случае вместо IP адреса указано ключевое слово <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-server</i>, оно заставит взять параметры <a href=http://tamkovich.com/tag/sip/ >SIP</a> сервера (включая логин и пароль) из секции <i><a href=http://tamkovich.com/tag/sip/ >SIP</a>-ua</i>, которую мы рассмотрели ранее. Следующая команда устанавливает кодек &#8211; наш любимый G.711 a-law. Команда <i>dtmf-relay rtp-2833</i> указывает способ передачи DTMF, в нашем случае DTMF будет передаваться согласно протоколу RFC2833. Обратите внимание на команду <i>no vad</i> &#8211; она принудительно выключает подавление тишины, рекомендую ей пользоваться всегда. Команда <i>translate-outgoing called-number 1</i> привязывает правило преобразования набранного номера. Т.е. каждый набранный номер попавший в этот диалпир, перед передачей <a href=http://tamkovich.com/tag/sip/ >SIP</a> серверу будет преобразован в соответствии с правилом 1. Последняя, необязательная команда, ещё раз устанавливает параметры для факса, который может быть отправлен по этому диалпиру.
</p>
<p align=justify>
Зачастую, перед отправкой набранного номера серверу IP телефонии, его необходимо преобразовать определённым образом &#8211; отрезать какие то цифры, или наоборот добавить их. Проще всего сделать это с помощью правил преобразования. Правила преобразования номеров создаются с помощью команды <i>translation-rule</i> и выглядят следующим образом:
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">translation-rule 1
 rule 0      0                        00
 rule 1      1                        01
 rule 2      2                        02
 rule 3      3                        03
 rule 4      4                        04
 rule 5      5                        05
 rule 6      6                        06
 rule 7      7                        07
 rule 8      8                        08
 rule 9      9                        09</pre></div></div>

<p align=justify>
Данный пример подставляет 0 ко всем набранным номерам. Разберём команды по порядку. Начинается список с команды <i>translation-rule</i>, в качестве параметра указывается уникальный номер, по которому будет производится идентификация этого списка. Следом идут правила преобразования, каждое правило начинается с ключевого слова <i>rule></i>. Следом за ключевым словом идёт произвольное число, определяющее порядок данного правила. Все правила применяются по порядку, начиная с младшего порядкового номера, заканчивая старшим (или совпадением). вторым аргументом команды <i>rule</i> идёт последовательность цифр в начале набираемого номера, которую нам необходимо заменить. Последний аргумент &#8211; последовательность цифр, которую нам надо подставить вместо предыдущего аргумента. То есть &#8217;3&#8242; меняется на &#8217;03&#8242;, &#8217;7&#8242; на &#8217;07&#8242; и т.д. &#8211; таким образом происходит подстановка ноля в начало набранного номера.
</p>
<p align=justify>
Поздравляю! мы настроили наш AddPac AP1100-FXS8 для работы с <a href=http://tamkovich.com/asterisk/ >Asterisk</a> &#8211; не забудьте записать изменения командой <i>wr</i>. Если посмотреть наш конфигурационный файл целиком, с помощью команды <i>sh run</i> он будет выглядеть вот так:
</p>

<div class="wp_syntax"><div class="code"><pre class="cisco" style="font-family:monospace;">!
version 8.238
!
hostname ap1100
!
ip classless
!
proxy-arp
!
dhcp-list 1 type server
dhcp-list 1 address server  10.1.1.2 10.1.1.126 255.255.255.128
!
!
ip-share enable
ip-share interface net-side ether0.0
ip-share interface local-side ether1.0
!
interface ether0.0
 ip address 192.168.33.201 255.255.255.224
!
interface ether1.0
 no ip address
!
snmp name AP1100-FXS8
!
no arp reset
!
route 0.0.0.0 0.0.0.0 192.168.33.193
!
ntp server 192.168.33.208
!
no service ftpd
no service httpd
!
!
!
!
!
! VoIP configuration.
!
!
! Voice service voip configuration.
!
voice service voip
 fax protocol t38 redundancy 1
 fax rate 9600
!
!
! Voice port configuration.
!
! FXS
voice-port 0/0
 caller-id enable
!
!
! FXS
voice-port 0/1
 caller-id enable
!
!
! FXS
voice-port 0/2
 shutdown
!
!
! FXS
voice-port 0/3
 shutdown
!
!
! FXS
voice-port 1/0
 shutdown
!
!
! FXS
voice-port 1/1
 shutdown
!
!
! FXS
voice-port 1/2
 shutdown
!
!
! FXS
voice-port 1/3
 shutdown
!
!
!
!
! Pots peer configuration.
!
dial-peer voice 1 pots
 destination-pattern 101
 port 0/0
 user-password XagsaR9A
!
dial-peer voice 2 pots
 destination-pattern 102
 port 0/1
 user-password YGygs3de
!
!
!
! Voip peer configuration.
!
dial-peer voice 1000 voip
 destination-pattern T
 session target sip-server
 session protocol sip
 codec g711alaw
 dtmf-relay h245-alphanumeric
 no vad
 translate-outgoing called-number 1
 fax protocol t38 redundancy 1
!
!
!
!
! Translation Rule configuration.
!
translation-rule 1
 rule 0      0                        00
 rule 1      1                        01
 rule 2      2                        02
 rule 3      3                        03
 rule 4      4                        04
 rule 5      5                        05
 rule 6      6                        06
 rule 7      7                        07
 rule 8      8                        08
 rule 9      9                        09
!
!
!
! SIP UA configuration.
!
sip-ua
 user-register
 sip-server 192.168.33.208
 timeout treg 3600
 register e164
!
!
!</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://tamkovich.com/2011/03/configuring-addpac-ap1100-for-asterisk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ЦентрТелеком, входящие вызовы</title>
		<link>http://tamkovich.com/2009/10/centrtelecom-incoming-calls-kaluga/</link>
		<comments>http://tamkovich.com/2009/10/centrtelecom-incoming-calls-kaluga/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 14:03:37 +0000</pubDate>
		<dc:creator>Сергей Тамкович</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[addpac]]></category>
		<category><![CDATA[fxo]]></category>

		<guid isPermaLink="false">http://tamkovich.com/?p=487</guid>
		<description><![CDATA[В славном городе Калуга, есть замечательный оператор связи &#8211; компания ЦентрТелеком. ЦентрТелеком оказывает услуги связи населению, например предоставляет городские номера. На один из таких номеров, +7 4842 55xxxx подключен addpac AP200D. На днях вскрылись удивительные особенности функционирования данного оператора, оказывается форма и уровень вызывающего сигнала (ring) зависит от того, с какого номера совершается вызов. Всего, [...]]]></description>
			<content:encoded><![CDATA[<p align=justify>
В славном городе Калуга, есть замечательный оператор связи &#8211; компания ЦентрТелеком. ЦентрТелеком оказывает услуги связи населению, например предоставляет городские номера. На один из таких номеров, +7 4842 55xxxx подключен addpac AP200D. На днях вскрылись удивительные особенности функционирования данного оператора, оказывается форма и уровень вызывающего сигнала (ring) зависит от того, с какого номера совершается вызов. Всего, было обнаружено 3 возможных варианта:
</p>
<p><center><br />
<img src=/wp-content/uploads/2009/10/ct.png ><br />
</center></p>
<p align=justify>
Синий сигнал &#8211; таким вызов приходит от большинства абонентов. Красный и желтый &#8211; так выглядят вызовы от абонентов +7 4842 7ххххх, к сожалению сигналы такого вида AddPac AP200D, не воспринимает как вызов. Особенно умиляет красный вариант. Интересно каким ГОСТам он соответствует? Не менее интересует почему вообще сущетвует зависимость сигнала от звонящего абонента? Боюсь на такой сложный вопрос специалисты ЦентрТелекома ответить не в состоянии.
</p>
<p align=justify>
Бороться с эти можно попытавшись задрать таймаут обнаружения звонка до максимума -10 секунд (100 единиц по 100 мс). Это не исключит полностью потерянные звонки, но существенно снизит их количество.</p>
<pre>
voice-port 0/1
 connection plar 7484255xxxx
 <b>ring detect-timeout 100</b>
 caller-id enable
 caller-id type etsi
 caller-id name disable
</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://tamkovich.com/2009/10/centrtelecom-incoming-calls-kaluga/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AddPac AP200D, SIP и Asterisk.</title>
		<link>http://tamkovich.com/2009/09/addpac-ap200d-sip-asterisk/</link>
		<comments>http://tamkovich.com/2009/09/addpac-ap200d-sip-asterisk/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 16:57:16 +0000</pubDate>
		<dc:creator>Сергей Тамкович</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Железо]]></category>
		<category><![CDATA[addpac]]></category>
		<category><![CDATA[SIP]]></category>

		<guid isPermaLink="false">http://tamkovich.com/?p=445</guid>
		<description><![CDATA[Для связи с ТФОП лучше всего использовать цифровые шлюзы или провайдеров IP телефонии. К сожалению, эти опции не всегда доступны. С предоставлением номеров по IP Телефонии в России существуют определённые юридические трудности, а цифровые шлюзы для многих &#8211; непозволительная роскошь. Подавляющее большинство аналоговых (FXO) шлюзов &#8211; отвратительные поделки. Качество аналоговых телефонных линий в России так [...]]]></description>
			<content:encoded><![CDATA[<p align=justify>
Для связи с ТФОП лучше всего использовать цифровые шлюзы или провайдеров IP телефонии. К сожалению, эти опции не всегда доступны. С предоставлением номеров по IP Телефонии в России существуют определённые юридические трудности, а цифровые шлюзы для многих &#8211; непозволительная роскошь.
</p>
<p align=justify>
Подавляющее большинство аналоговых (FXO) шлюзов &#8211; отвратительные поделки. Качество аналоговых телефонных линий в России так же оставляет желать лучшего. Эти два фактора делают использование FXO железок крайне нежелательным.
</p>
<p><img src=http://tamkovich.com/wp-content/uploads/2009/09/addpac1.jpg border=0 ></p>
<p align=justify>
Сегодня я бы хотел поговорить о простеньком шлюзе AddPac AP200D. Это Корейско-Китайское устройство выгодно отличается качеством своей работы от основной массы д-линков, эджкоров и прочего китайского хлама. Не сказать что устройство дешевое, на сентябрь 2009 года оно стоит 333$ (10300 рублей) &#8211; дороже многих китайцев, но существенно дешевле аналогов от <a href=http://tamkovich.com/cisco/ >Cisco</a>.
</p>
<p><span id="more-445"></span><br />
<img src=http://tamkovich.com/wp-content/uploads/2009/09/addpac2.jpg border=0 ></p>
<p align=justify>
Устройство имеет 2 порта Ethernet, 2 порта FXO и 1 консольный (RS232) Порт. Первоначальная настройка осуществляется с помощью консольного порта. Для доступа к устройству через последовательный порт, необходимо воспользоваться программой &#8211; эмулятором терминала. Под Linux мне нравится пользоваться программой picocom, но можно воспользоваться и любой другой: minicom, cu из пакета uucp, kermit и т.д. Под windows выбор тоже широк: SecureCRT, HyperTerminal и т.д. Лично мне нравится бесплатная <a href=http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html >PuTTY</a>. Параметры последовательного порта, для подключения к устройству следующие: </p>
<ul>
<li> Speed <b>9600</b>
<li> Data bits <b>8</b>
<li> Parity <b>none</b>
<li> Stop bits <b>1</b>
<li> Flow control <b>no</b>
</ul>
</p>
<p align=justify>
Подключите устройство к компьютеру с помощь последовательного порта. Откройте порт в эмуляторе терминала. Включите устройство. После включения, вы увидите в терминале процесс загрузки операционной системы устройства &#8211; APOS. После загрузки устройство предложит ввести имя пользователя и пароль, для начала работы с устройством. Логин и пароль по умолчанию для AddPac AP200D:</p>
<ul>
<li> Login: <b>root</b>
<li> Password: <b>router</b>
</ul>
<p><h2>Настройка Addpac AP200D</h2>
<p align=justify>
Синтаксис команд операционной системы APOS является точной копией синтаксиса <a href=http://tamkovich.com/cisco/ >Cisco</a> IOS. Для того, что бы принимать звонки с этого устройства необходимо настроить несколько базовых параметров. Сперва, сконфигурируем ethernet интерфейс:</p>
<pre>
conf t
interface ether0.0
 ip address 172.16.92.11 255.255.255.0
</pre>
<p>Пропишем маршрут по умолчанию (шлюз для нашей сети):</p>
<pre>
route 0.0.0.0 0.0.0.0 172.16.92.1
</pre>
<p>Сохраним сделанные нами изменения:</p>
<pre>
Ctrl+z
wr
</pre>
<p>Теперь, когда настроен сетевой интерфейс, к устройству можно подключаться не только через последовательный порт, но и по IP с помощью telnet. Следующим шагом необходимо настроить FXO порты, для этого используются следующие команды:</p>
<pre>
voice-port 0/0
 connection plar 74842111111
 ring detect-timeout 50
 caller-id enable
 caller-id type etsi
 caller-id name disable

voice-port 0/1
 connection plar 74842111112
 caller-id enable
 caller-id type etsi
 caller-id name disable
</pre>
<p>PLAR это Private Line Automatic Ringdown. С помощью директивы connection plar 74842111111 указывается номер, на который поступил вызов (телефонный номер линии присоединённой к данному порту). Я предпочитаю указывать все номера в формате е164, так с ними легче работать в дальнейшем. Директивы caller-id включают поддержку АОНа и устанавливают протокол, в котором ваш оператор передаёт вам CallerID.
</p>
<p align=justify>
Последний этап настройки AddPac AP200D &#8211; настройка маршрутизации звонков внутри устройства. В AddPac, так же как и в <a href=http://tamkovich.com/cisco/ >Cisco</a>, маршрутизация звонков производится с помощью dial-peer. В каждом звонке участвуют 2 dial-peer: 1 на входящую &laquo;ногу&raquo; звонка и 1 на исходящую. Нас интересует, как реализовать простой шлюз IP телефонии для приёма вызовов из ТФОП. Т.е. нам необходимо смаршрутизировать все звонки, пришедшие из ТФОП в сеть IP телефонии. Для этого нам понадобится 3 dial-peer:</p>
<pre>
dial-peer voice 1 pots
 port 0/0
!
dial-peer voice 2 pots
 port 0/1
!
dial-peer voice 3 voip
 destination-pattern 7T
 session target 172.16.33.3
 session protocol <a href=http://tamkovich.com/tag/sip/ >SIP</a>
 codec g711alaw
 no vad
 dtmf-relay rtp-2833
 fax protocol t38 redundancy 0
 fax rate 9600
</pre>
<p>Диалпиры 1 и 2 &#8211; пустышки, они не присваивают никаких параметров ко входящим звонкам. Их наличие требуется для того, что бы звонок состоялся. Если на устройство приходит звонок, для которого не определен входящий dial-peer &#8211; звонок будет отбит. Диалпир 3, используется для направления звонков на сервер IP-телефонии 172.16.33.3 по протоколу <a href=http://tamkovich.com/tag/sip/ >SIP</a>. В этот диалпир попадают все звонки, в которых вызываемые номера начинаются на 7 (это обусловлено директивой destination-pattern 7T). Вызываемые номера мы прописали у каждого порта с помощью директивы &laquo;connection plar&raquo; (таким образом можно направить разные порты на разные сервера, прописав для каждого номера отдельный dial-peer). Этот dial-peer так же устанавливает некоторые параметры ip-телефонии: кодек G711a (директива codec g711alaw), отключаем подавление тишины (директива no vad), устанавливаем протокол передачи DTMF &#8211; RFC2833 (директива dtmf-relay rtp-2833) и, наконец, устанавливаем параметры передачи факсов &#8211; протокол t38 (fax protocol t38 redundancy 0) и максимальную скорость передачи факса 9600 бит/с (fax rate 9600). Кстати, данный addpac изумительно работает с T38. На этом настройка шлюза заканчивается, осталось лишь сохранить изменения командой &laquo;wr&raquo;.
</p>
<h2>Настройка <a href=http://tamkovich.com/asterisk/ >Asterisk</a></h2>
<p align=justify>
Настройка <a href=http://tamkovich.com/asterisk/ >Asterisk</a> &#8211; ещё проще. Для приёма звонков достаточно создать запись в файле <a href=http://tamkovich.com/tag/sip/ >SIP</a>.conf:</p>
<pre>
[mygw]
type=friend
host=172.16.92.11
disallow=all
allow=alaw
dtmfmode=rfc2833
context=default
</pre>
<p>Данная <a href=http://tamkovich.com/tag/sip/ >SIP</a> friend не содержит логин/пароль, по этому аутентификация будет производиться по IP адресу. Все звонки, пришедшие с IP 172.16.92.11 будут присвоены пользователю &laquo;mygw&raquo; и направлены в контекст &laquo;default&raquo;. Вот и всё!</p>
]]></content:encoded>
			<wfw:commentRss>http://tamkovich.com/2009/09/addpac-ap200d-sip-asterisk/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

