<?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; fax</title>
	<atom:link href="http://tamkovich.com/tag/fax/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>ReceiveFAX, Cisco и ошибка 420 &#171;Bad extension&#187;</title>
		<link>http://tamkovich.com/2010/01/receivefax-cisco-sip-420-bad-extension/</link>
		<comments>http://tamkovich.com/2010/01/receivefax-cisco-sip-420-bad-extension/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 11:58:22 +0000</pubDate>
		<dc:creator>Сергей Тамкович</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[fax]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[t38]]></category>

		<guid isPermaLink="false">http://tamkovich.com/?p=870</guid>
		<description><![CDATA[Если вы недавно обновили Asterisk, вы, скорее всего, не можете принять факс с помощью команды ReceiveFAX() :) В ответ на T38 reINVITE, Cisco ответит Вам SIP/2.0 420 Bad Extension. Если всмотреться в ответ внимательнее, то увидим: SIP/2.0 420 Bad Extension Via: SIP/2.0/UDP 10.10.10.207:5060;branch=z9hG4bK514b3ee2;rport From: &#60;SIP:1000@10.10.10.207&#62;;tag=as6951d52f To: &#60;SIP:1010@10.10.10.220&#62;;tag=67D56388-98E Call-ID: B51F13DD-FDDA11DE-8C59D5E5-5043F4E7@10.10.10.220 CSeq: 102 INVITE Unsupported: timer Content-Length: [...]]]></description>
			<content:encoded><![CDATA[<p align=Justify>
Если вы недавно обновили <a href=http://tamkovich.com/asterisk/ >Asterisk</a>, вы, скорее всего, не можете принять факс с помощью команды ReceiveFAX() :) В ответ на T38 reINVITE, <a href=http://tamkovich.com/cisco/ >Cisco</a> ответит Вам <a href=http://tamkovich.com/tag/sip/ >SIP</a>/2.0 420 Bad Extension. Если всмотреться в ответ внимательнее, то увидим:</p>
<pre>
<a href=http://tamkovich.com/tag/sip/ >SIP</a>/2.0 420 Bad Extension
Via: <a href=http://tamkovich.com/tag/sip/ >SIP</a>/2.0/UDP 10.10.10.207:5060;branch=z9hG4bK514b3ee2;rport
From: &lt;<a href=http://tamkovich.com/tag/sip/ >SIP</a>:1000@10.10.10.207&gt;;tag=as6951d52f
To: &lt;<a href=http://tamkovich.com/tag/sip/ >SIP</a>:1010@10.10.10.220&gt;;tag=67D56388-98E
Call-ID: B51F13DD-FDDA11DE-8C59D5E5-5043F4E7@10.10.10.220
CSeq: 102 INVITE
Unsupported: timer
Content-Length: 0
</pre>
<p><a href=http://tamkovich.com/cisco/ >Cisco</a> ругается, на присутствие в ReINVITE заголовка &laquo;Require: timer&raquo;. Лечится это, добавлением  параметра:</p>
<pre>
session-timers=refuse
</pre>
<p>в файл <a href=http://tamkovich.com/tag/sip/ >SIP</a>.conf. Эта директива отключает поддержку таймеров  <a href=http://tamkovich.com/tag/sip/ >SIP</a>- сессий (RFC 4028).
</p>
<p align=Justify>
Дело в том, что в режиме session-timers=accept (по умолчанию), <a href=http://tamkovich.com/asterisk/ >Asterisk</a> работает с таймерми в том случае, если клиент поддерживает их. <a href=http://tamkovich.com/asterisk/ >Asterisk</a> считает, что клиент поддерживает таймеры, если в сообщении INVITE от клиента имеется заголовок Session-Expires или если если клиент ответил 200 OK на INVITE пришедший от <a href=http://tamkovich.com/asterisk/ >Asterisk</a>, который содержал заголовок Session-Expires. <a href=http://tamkovich.com/cisco/ >Cisco</a> (AS5350 IOS 12.3(3b)) не поддерживает таймеры, но и не отклоняет первоначальный INVITE от <a href=http://tamkovich.com/asterisk/ >Asterisk</a> &#8211; отсюда между устройствами возникает недопонимание.</p>
]]></content:encoded>
			<wfw:commentRss>http://tamkovich.com/2010/01/receivefax-cisco-sip-420-bad-extension/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Кевин Флеминг о факсах в Asterisk</title>
		<link>http://tamkovich.com/2009/12/asterisk-fax-report/</link>
		<comments>http://tamkovich.com/2009/12/asterisk-fax-report/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 11:08:04 +0000</pubDate>
		<dc:creator>Сергей Тамкович</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[fax]]></category>
		<category><![CDATA[t38]]></category>

		<guid isPermaLink="false">http://tamkovich.com/?p=688</guid>
		<description><![CDATA[Ведущий разработчик Asterisk, Kevin Fleming, опубликовал большую статью о текущем состоянии факсов в Asterisk. В ней, Кевин рассказывает о работе, проделанной за последний год. Работа была проделана колоссальная. Подробно описывается развитие, от первой реализации T.38 passthrough только для SIP каналов, до текущей, полноценной поддержки факсов: теперь Asterisk может не только передавать факсы между абонентами, но [...]]]></description>
			<content:encoded><![CDATA[<p align=justify>
Ведущий разработчик <a href=http://tamkovich.com/asterisk/ >Asterisk</a>, Kevin Fleming, опубликовал <a href=http://blogs.asterisk.org/2009/12/03/state-of-fax-primarily-t-38-in-asterisk-trunk-planning-for-1-8-release/ >большую статью</a> о текущем состоянии факсов в <a href=http://tamkovich.com/asterisk/ >Asterisk</a>. В ней, Кевин рассказывает о работе, проделанной за последний год. Работа была проделана колоссальная.
</p>
<p align=justify>
Подробно описывается развитие, от первой реализации T.38 passthrough только для <a href=http://tamkovich.com/tag/sip/ >SIP</a> каналов, до текущей, полноценной поддержки факсов: теперь <a href=http://tamkovich.com/asterisk/ >Asterisk</a> может не только передавать факсы между абонентами, но и самостоятельно принимать и отправлять их с помощью T.38. Во время работы над этим функционалом, возникло большое количество проблем в совместимости различных реализаций T.38. Вот что пишет на этот счёт Кевин:
</p>
<p><span id="more-688"></span></p>
<blockquote><p>
 In addition, the T.38 negotiation process was redesigned to allow <a href=http://tamkovich.com/asterisk/ >Asterisk</a> applications to actually be T.38 endpoints; this resulted in the ability to send and receive FAX over audio *and* T.38 links.</p>
<p>Once this got into the community’s hands, we started seeing large numbers of bug reports because users could not successfully FAX over T.38 with various ATAs and service providers.  I won’t go into the gory details of why this was the case, except to repeat a recent quote from Steve himself on IRC: “The T.38 spec was written after a night of heavy drinking as a joke.”. While that’s not technically true, it is true that compliance with the T.38 recommendation, primarily in the <a href=http://tamkovich.com/tag/sip/ >SIP</a>/SDP negotiations area, is very poor across the industry. Producing a T.38 endpoint that interoperates widely is a complex and difficult process, that can only be achieved through hours and hours (and hours) of testing.
</p></blockquote>
<p align=justify>
Теперь о планах на будущее. Следующий релиз <a href=http://tamkovich.com/asterisk/ >Asterisk</a> будет носить номер 1.8. К моменту выхода 1.8 app_fax будет разделен на 2 части: res_fax и res_fax_spandsp. Модуль res_fax будет содержать приложения для диалплана и функции для согласования параметров T.38 сессии. Второй модуль &#8211; res_fax_spandsp обеспечивает непосредственно работу с факсом (T.30). В данном случае это обертка для библиотеки spandsp. Такое решение обусловлено тем, что Digium с одной стороны стремится оставить открытой максимальную часть кода, а с другой стороны предоставляет коммерческое решение для факсов. Т.е. весь проприетарный код вынесен в отдельный субмодуль &#8211; res_fax_digium. Этот модуль и есть коммерческое <a href=http://www.digium.com/en/products/software/faxforasterisk.php >Fax for Asterisk</a>.
</p>
<p align=justify>
С выходом версии 1.8 начнётся работа над FAX relay &#8211; механизмом способным преобразовывать T.38 в G711 и обратно. Предположительно, FAX relay будет реализован с помощью нового API в res_fax.
</p>
<ul>
<li> <a href=http://blogs.asterisk.org/2009/12/03/state-of-fax-primarily-t-38-in-asterisk-trunk-planning-for-1-8-release/ >State of FAX (primarily T.38) in Asterisk trunk (planning for 1.8 release)</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tamkovich.com/2009/12/asterisk-fax-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

