<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1597257649834094803</id><updated>2024-09-01T20:01:23.175-05:00</updated><category term="FreeSWITCH"/><category term="VoIP"/><category term="managed ESL"/><category term="Audacity"/><category term="ESL"/><category term="Gateway"/><category term="Openssl"/><category term="TLS"/><category term="Tonos"/><category term="directory"/><category term="español"/><category term="frecuencia"/><title type='text'>VoIPensando</title><subtitle type='html'>Información sobre VoIP y en especial sobre FreeSWITCH</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-5378397989221493924</id><published>2010-10-06T01:24:00.004-05:00</published><updated>2010-10-06T01:31:22.884-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><category scheme="http://www.blogger.com/atom/ns#" term="Openssl"/><category scheme="http://www.blogger.com/atom/ns#" term="TLS"/><title type='text'>TLS sobre Windows disponible</title><content type='html'>&lt;div style=&quot;font-family: inherit;&quot;&gt;Tiempo atrás estaba revisando la seguridad que permite &lt;a href=&quot;http://en.wikipedia.org/wiki/Transport_Layer_Security&quot; target=&quot;_blank&quot;&gt;TLS&lt;/a&gt; en las comunicaciones IP.  Cuando comencé a trabajar con FreeSWITCH sobre Windows para realizar la configuración de TLS para asegurar la parte de la señalización SIP, ohh sorpresa, TLS para Windows no estaba listo.&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;Todavía no se podía configurar directamente una interfaz para que soportara TLS, el problema es que todavía no estaba integrado, por lo que era necesario descargar y construir por separado &lt;a href=&quot;http://www.openssl.org/&quot; target=&quot;_blank&quot;&gt;Openssl&lt;/a&gt;, ahora bien, no conseguí un proyecto que pudiera compilar y ejecutar desde Visual Sudio lo que hacia necesario descargar Perl y usar los scripts que entregan directamente desde el proyecto Openssl. Una vez descargadas las herramientas la construcción de Openssl es realmente fácil conseguir, el producto de esta generación son principalmente tres archivos: libeay32.dll, ssleay32.dll y openssl.exe.&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;El espíritu del código entregado por el equipo de FreeSWITCH es que la generación está integrado en una extensa solución de Visual Studio 2008 o 2010 que descarga y construye todas las dependencias de terceros, las librería y módulos propios de tal forma que finalizada la compilación está listo para ser usado.&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;Con esta necesidad latente me di a la &lt;a href=&quot;http://jira.freeswitch.org/browse/FS-960&quot; target=&quot;_blank&quot;&gt;tarea&lt;/a&gt; de construir los proyectos (.vcproj) en Visual Studio para que se pudiera integrar la construcción de Openssl en la solución de Visual Studio de FreeSWITCH y además se constituyera en una alternativa para obtener Openssl aún fuera del alcance de FreeSWITCH.&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;La buena noticia es que los proyectos para construir Openssl están integrados ahora en la solución de Visual Studio de FreeSWITCH y es posible usar TLS para asegurar las llamadas ejecutando FreeSWITCH sobre Windows.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/5378397989221493924/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/10/tls-sobre-windows-disponible.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/5378397989221493924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/5378397989221493924'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/10/tls-sobre-windows-disponible.html' title='TLS sobre Windows disponible'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-6232555175151212530</id><published>2010-05-13T19:40:00.000-05:00</published><updated>2010-10-05T23:01:41.332-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="español"/><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><title type='text'>Archivos de audio en español</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Según el más reciente anuncio de la liberación de FreeSWITCH de la versión 1.0.6 ya se tienen los archivos de sonido en español, aunque todavía no se han publicado ya que están en revisión pronto los tendremos disponibles.  El español es latinoamericano.&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/6232555175151212530/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/05/archivos-de-audio-en-espanol.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/6232555175151212530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/6232555175151212530'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/05/archivos-de-audio-en-espanol.html' title='Archivos de audio en español'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-9166570942408294274</id><published>2010-04-07T21:34:00.000-05:00</published><updated>2010-10-05T23:01:36.013-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Audacity"/><category scheme="http://www.blogger.com/atom/ns#" term="frecuencia"/><category scheme="http://www.blogger.com/atom/ns#" term="Tonos"/><title type='text'>Medir Tonos en líneas análogas</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Cuando se trabaja con líneas análogas ya sea de la red pública o de una extensión de una PBX es muy importante conocer la frecuencia de los tonos para realizar una buena detección del tono de marcado (&lt;a href=&quot;http://en.wikipedia.org/wiki/Dial_tone&quot;&gt;dialtone&lt;/a&gt;), del tono de desconección (disconect tone) para terminar la llamada, y del tono de ocupado (busy).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Normalmente cuando no se configuran adecuadamente los tonos se presentan problemas por ejemplo al finalizar la llamada, el puerto puede seguir ocupado cuando ya nadie está hablando sobre la línea.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Existen varias formas de medir la frecuencia ya sea simple o compuesta de cada tono, entre ellas desde las mas complejas usando un osciloscopio, con algún software que escucha sobre la línea, o una forma bastante simple pero muy efectiva usando &lt;a href=&quot;http://audacity.sourceforge.net/&quot;&gt;Audacity&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;La idea es grabar en un archivo de audio por ejemplo .wav lo que sucede en la línea, y posteriormente abrir el archivo con Audacity y analizar su espectro con lo cual se pueden hallar las frecuencias con buena exactitud.  Para un mayor detalle sobre el procedimiento pueden ver este buen &lt;a href=&quot;http://medellinasterisk.blogspot.com/2009/02/audacity-problema-linea-analogas.html&quot;&gt;artículo&lt;/a&gt; en el blog de Asterisk Medellín.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/9166570942408294274/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/04/medir-tonos-en-lineas-analogas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/9166570942408294274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/9166570942408294274'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/04/medir-tonos-en-lineas-analogas.html' title='Medir Tonos en líneas análogas'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-954181767122864669</id><published>2010-04-06T22:05:00.000-05:00</published><updated>2010-10-05T23:01:36.014-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Gateway"/><title type='text'>Welltech Gateway</title><content type='html'>Entre los Gateway con soporte para puertos FXO y FXS que son económicos y usan UDP para el transporte se encuentran los Welltech (&lt;a href=&quot;http://www.welltech.com/&quot;&gt;http://www.welltech.com&lt;/a&gt;) yo los he usado y se portan bien ademas de mencionar la operabilidad que tienen con FreeSWITCH.&lt;br /&gt;&lt;br /&gt;Hasta ahora el único detalle que he tenido que solucionar es el tema del manejo del flash-hook para los puertos FXO, si es necesario, no basta solo con enviar   &amp;lt;action application=&quot;send_dtmf&quot; data=&quot;F&quot;/&amp;gt; ya que esto solo se interpreta del lado del Gateway como un tomo mas.  Para conseguir que pueda propagar el flash-hook desde la señalización IP es necesario hacerlo con SIP INFO incluyendo en el body \n\r.  Esto me valio para solicitar soporte a la gente de Welltech por el link de Support de su página y la verdad me ayudaron bastante con el tema y la atención fue rapida y efectiva.</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/954181767122864669/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/04/welltech-gateway.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/954181767122864669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/954181767122864669'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/04/welltech-gateway.html' title='Welltech Gateway'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-5162973946540398826</id><published>2010-02-22T21:18:00.000-05:00</published><updated>2010-10-05T23:01:36.016-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><category scheme="http://www.blogger.com/atom/ns#" term="managed ESL"/><title type='text'>Mod event socket en modo inbound</title><content type='html'>&lt;span style=&quot;font-size:85%;&quot;&gt;“inbound” modo significa que usando ESL la aplicación se conecta como cliente a FreeSWITCH (FS) para el envío y recepción de eventos y  comandos. (&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Mod_event_socket&quot;&gt;http://wiki.freeswitch.org/wiki/Mod_event_socket&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Ejemplo usando managed ESL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El siguiente fragmento de código establece una conexión con FS, subscribe a todos los eventos en formato de texto plano, y entra en un bucle esperando por un evento e imprimiéndole en pantalla cuando llega.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;//Initializes a new instance of ESLconnection, and connects to the host $host on the port $port, and supplies $password to freeswitch&lt;br /&gt;     ESLconnection eslConnection = new ESLconnection(&quot;localhost&quot;, &quot;8021&quot;, &quot;ClueCon&quot;);&lt;br /&gt;&lt;br /&gt;     if (eslConnection.Connected() != ESL_SUCCESS)&lt;br /&gt;     {&lt;br /&gt;       Console.WriteLine(&quot;Error connecting to FreeSwitch&quot;);&lt;br /&gt;       return;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     //Set log level&lt;br /&gt;     //ESL.eslSetLogLevel((int)enLogLevel.DEBUG);&lt;br /&gt;&lt;br /&gt;     // Subscribe to all events&lt;br /&gt;     ESLevent eslEvent = eslConnection.SendRecv(&quot;event plain ALL&quot;);&lt;br /&gt;&lt;br /&gt;     if (eslEvent == null)&lt;br /&gt;     {&lt;br /&gt;       Console.WriteLine(&quot;Error subscribing to all events&quot;);&lt;br /&gt;       return;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     //Turns an event into colon-separated &#39;name: value&#39; pairs. The format parameter isn&#39;t used&lt;br /&gt;     Console.WriteLine(eslEvent.Serialize(String.Empty));&lt;br /&gt;&lt;br /&gt;     // Grab Events until process is killed&lt;br /&gt;     while (eslConnection.Connected() == ESL_SUCCESS)&lt;br /&gt;     {&lt;br /&gt;       eslEvent = eslConnection.RecvEvent();&lt;br /&gt;       Console.WriteLine(eslEvent.Serialize(String.Empty));&lt;br /&gt;     }&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/5162973946540398826/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/02/mod-event-socket-en-modo-inbound.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/5162973946540398826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/5162973946540398826'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/02/mod-event-socket-en-modo-inbound.html' title='Mod event socket en modo inbound'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-6430975326202747569</id><published>2010-02-21T10:01:00.001-05:00</published><updated>2010-10-05T23:52:39.885-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><category scheme="http://www.blogger.com/atom/ns#" term="managed ESL"/><title type='text'>managed ESL</title><content type='html'>&lt;meta content=&quot;text/html; charset=utf-8&quot; equiv=&quot;Content-Type&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Word.Document&quot; name=&quot;ProgId&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Generator&quot;&gt;&lt;/meta&gt;&lt;meta content=&quot;Microsoft Word 12&quot; name=&quot;Originator&quot;&gt;&lt;/meta&gt;&lt;link href=&quot;file:///C:%5CUsers%5Cdiego%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml&quot; rel=&quot;File-List&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CUsers%5Cdiego%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx&quot; rel=&quot;themeData&quot;&gt;&lt;/link&gt;&lt;link href=&quot;file:///C:%5CUsers%5Cdiego%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml&quot; rel=&quot;colorSchemeMapping&quot;&gt;&lt;/link&gt;&lt;style&gt;
 &lt;!--  /* Font Definitions */  @font-face 	{font-family:&quot;Cambria Math&quot;; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:1; 	mso-generic-font-family:roman; 	mso-font-format:other; 	mso-font-pitch:variable; 	mso-font-signature:0 0 0 0 0 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:&quot;&quot;; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:&quot;Times New Roman&quot;; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	mso-themecolor:hyperlink; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing 	{mso-style-priority:1; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:&quot;&quot;; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:&quot;Times New Roman&quot;; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:&quot;Times New Roman&quot;; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; 
&lt;/style&gt;&lt;span style=&quot;font-size: 85%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;¿Qué es managed ESL ?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Es la librería que permite desde un lenguaje de .Net usar la Event Socket Library (ESL) de FreeSWITCH (FS).&lt;br /&gt;
&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 85%;&quot;&gt; Managed ESL establece comunicación con FreeSWITCH (FS) a través de socket encapsulando todo el manejo del socket y exponiendo los servicios suministrados por FS como clases manejadas en C#.&lt;br /&gt;
&lt;br /&gt;
Managed ESL son clases que encapsulan los servicios de mod_event_socket (&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Mod_event_socket&quot;&gt;http://wiki.freeswitch.org/wiki/Mod_event_socket&lt;/a&gt;) expuestos con la estandarización obtenida de SWIG. Con SWIG se consigue una interfaz nativa en C++ y wrappers en C# que usan la interfaz de C++.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;¿Qué se puede hacer?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Con managed ESL se puede conseguir control de la llamada, envío y recepción de eventos y comandos.&lt;br /&gt;
&lt;br /&gt;
Como managed ESL se ejecuta fuera del contexto de ejecución de los procesos de FS, la aplicación que usa managed ESL puede ser publicada en una maquina remota o expuesta como un servicio simpre que se tenga conexión con FS a través un socket.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Construyendo managed ESL&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
En este momento solo se ha probado usando VisualStudio 2008 sobre Windows con Framework 2.0. Pronto se estará liberando para mono.&lt;br /&gt;
&lt;br /&gt;
Pre-requisitos&lt;br /&gt;
&lt;br /&gt;
VisualStudio 2008 (soporte para C y C#)&lt;br /&gt;
Framework 2.0&lt;br /&gt;
Windows&lt;br /&gt;
&lt;br /&gt;
La solución de VS2008 para compilar managed ESL se encuentra en libs/esl/managed, es necesario que se tenga compilada la librería esl.lib que se construye con FreeSWITCH.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/6430975326202747569/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/02/managed-esl.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/6430975326202747569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/6430975326202747569'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/02/managed-esl.html' title='managed ESL'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-4620068375935617221</id><published>2010-01-23T23:10:00.000-05:00</published><updated>2010-10-05T23:01:36.024-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESL"/><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><title type='text'>ESL, Manejo de eventos en FreeSwitch</title><content type='html'>Si buscan manejar eventos sin depender del core de FreeSwitch o mejor sin necesitar que se ejecute, recomiendo que le den una revisada a ESL (Event Socket Library).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Con ESL se pueden recibir eventos y enviar comandos a FreeSwitch.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Segoe UI&#39;; font-size: 12px; white-space: pre; &quot;&gt;http://wiki.freeswitch.org/wiki/Event_Socket_Library&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/4620068375935617221/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2010/01/esl-manejo-de-eventos-en-freeswitch.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/4620068375935617221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/4620068375935617221'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2010/01/esl-manejo-de-eventos-en-freeswitch.html' title='ESL, Manejo de eventos en FreeSwitch'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-3175383635322327369</id><published>2009-08-19T20:31:00.000-05:00</published><updated>2010-10-05T23:01:36.026-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="directory"/><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><title type='text'>FreeSWITCH, Configuración de extensiones</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;directory en FreeSWITCH&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;La carpeta directory contiene las extensiones SIP que se pueden registrar con FreeSWITCH, la configuración por default obliga a que las extensiones se autentiquen antes de aceptar su registro, posteriormente veremos como cambiar este comportamiento.&lt;br /&gt;&lt;br /&gt;Cuando se instala en la carpeta directory se encuentra el archivo default.xml el cual define principalmente:&lt;br /&gt;&lt;br /&gt;Mas información en:&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Default_config&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;http://wiki.freeswitch.org/wiki/Default_config&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Config_directory.xml&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;http://wiki.freeswitch.org/wiki/Config_directory.xml&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;strong&gt;domain&lt;/strong&gt;: dominio o IP que identifica la extensión SIP de la forma &lt;/span&gt;&lt;a href=&quot;mailto:numero_extension@domain_o_IP&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;numero_extension@domain_o_IP&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:78%;&quot;&gt; (ej: 1000@192.168.7.100).&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;strong&gt;group&lt;/strong&gt;: definición de grupos de extensiones para hacer llamadas a un grupo&lt;br /&gt;de tal forma que timbren todas las extensiones, la sintaxis para crealos es&lt;br /&gt;la siguiente: &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&amp;lt;group name=&quot;nombre_del_grupo&quot;&amp;gt;&lt;br /&gt;&amp;lt;users&amp;gt;&lt;br /&gt;&amp;lt;user id=&quot;numero_extension_1&quot; type=&quot;pointer&quot;/&amp;gt;&lt;br /&gt;&amp;lt;user id=&quot;numero_extension_2&quot; type=&quot;pointer&quot;/&amp;gt;&lt;br /&gt;&amp;lt;user id=&quot;numero_extension_n&quot; type=&quot;pointer&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/users&amp;gt;&lt;br /&gt;&amp;lt;/group&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;style1&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;em&gt;numero_extension_1&lt;/em&gt; debe existir como un archivo XML en la carpeta directory&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;style1&quot; align=&quot;justify&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;El tipo &quot;pointer&quot; permite que la misma definición de la extensión se pueda usar en multimples grupos sin ser necesario crear multiples&lt;br /&gt;archivos XML con la información de la extensión.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Uno de las entradas mas importantes de default.xml es la inclusión de todos los archivos XML que se encuentran ubicados en&lt;br /&gt;directroy/default/*.xml, con lo cual las extensiones se deberían definir en esta carpeta. &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Extensiones en FreeSWITCH&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Las extensiones que se registran con FreeSWITCH se deben ubicar en la carpeta conf/directory/default, estan definidas en archivo XML, comunmente los archivos se nombran con el identificador de la extensión.&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Por ejemplo para definir la extensíón 1000 creamos el archivo 1000.xml con el siguiente contenido:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;style1&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&amp;lt;include&amp;gt;&lt;br /&gt;&amp;lt;user id=&quot;1000&quot;&amp;gt;&lt;br /&gt;&amp;lt;params&amp;gt;&lt;br /&gt;&amp;lt;param name=&quot;password&quot; value=&quot;1000&quot;/&amp;gt;&lt;br /&gt;&amp;lt;param name=&quot;vm-password&quot; value=&quot;1000&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/params&amp;gt;&lt;br /&gt;&amp;lt;variables&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;toll_allow&quot; value=&quot;domestic,international,local&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;accountcode&quot; value=&quot;1000&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;user_context&quot; value=&quot;default&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;effective_caller_id_name&quot; value=&quot;Extension 1000&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;effective_caller_id_number&quot; value=&quot;1000&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;outbound_caller_id_name&quot;&lt;br /&gt;value=&quot;$${outbound_caller_name}&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;outbound_caller_id_number&quot;&lt;br /&gt;value=&quot;$${outbound_caller_id}&quot;/&amp;gt;&lt;br /&gt;&amp;lt;variable name=&quot;callgroup&quot; value=&quot;techsupport&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/variables&amp;gt;&lt;br /&gt;&amp;lt;/user&amp;gt;&lt;br /&gt;&amp;amp;&amp;lt;/include&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Algunas de las no obvias definiciones son:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;strong&gt;vm-password:&lt;/strong&gt; clave para accesar el buzón de voz&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;strong&gt;toll_allow&lt;/strong&gt;: tipo de llamadas permitidas para la extensión: domestic,international,local.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;Esta definición tiene sentido en el plan de marcación ( &lt;/span&gt;&lt;a href=&quot;http://www.mail-archive.com/freeswitch-users@lists.freeswitch.org/msg02616.html&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;http://www.mail-archive.com/freeswitch-users@lists.freeswitch.org/msg02616.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;style1&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;strong&gt;accountcode&lt;/strong&gt;: código asignado a la extensión, es usado para fines de tarificación por ello debe ser único por extensión&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;style1&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;strong&gt;user_context&lt;/strong&gt;: contexto de la extensión, define a que contexto pertenece la extensión. Un contexto una form lógica para agrupar extensiones. &lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/3175383635322327369/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-configuracion-de-extensiones.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/3175383635322327369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/3175383635322327369'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-configuracion-de-extensiones.html' title='FreeSWITCH, Configuración de extensiones'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-244061218490755890</id><published>2009-08-06T07:27:00.000-05:00</published><updated>2010-10-05T23:01:36.029-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><title type='text'>FreeSWITCH, versión 1.0.4 oficialmente liberada</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;El equipo de &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;FreeSWITCH&lt;/span&gt; anunció la liberación de la versión 1.0.4, la última versión estable del producto que incluye muchas mejoras, corrección de &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;bugs&lt;/span&gt; y nuevas &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;características. Para mas información visitar. &lt;a href=&quot;http://www.freeswitch.org/node/184&quot;&gt;http://www.freeswitch.org/node/184&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/244061218490755890/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-version-104-oficialmente.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/244061218490755890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/244061218490755890'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-version-104-oficialmente.html' title='FreeSWITCH, versión 1.0.4 oficialmente liberada'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-8594060697185692369</id><published>2009-08-03T18:49:00.000-05:00</published><updated>2010-10-05T23:01:36.031-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><category scheme="http://www.blogger.com/atom/ns#" term="VoIP"/><title type='text'>FreeSWITCH, archivos de configuración</title><content type='html'>&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Los archivos de configuración&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;En la anterior entrega vimos como construir FreeSWITCH desde el código fuente, los archivos XML de configuración se encuentran en el directorio conf/, en el caso de Windows este directorio esta ubicado en Debug/ o Release/ según se haya escogido para su construcción desde el Visual Studio 2008. Para mayor información visitar:  &lt;/span&gt;&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Getting_Started_Guide&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://wiki.freeswitch.org/wiki/Getting_Started_Guide&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;freeswitch.xml&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Es el archivo maestro de la configuración de FreeSWITCH, éste incluye los demas archivos de configuración convirtiendose en el punto de entrada en la carga de la configuración y preprosesamiento de variables.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;vars.xml&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Define variables globales al sistema que pueden ser accedidas desde un plan de marcación, este archivo contiene algunas líneas con la marca especial X-PRE-PROCESS, estas líneas no pueden ser comentados.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;La sintaxis usada para definir una variable es:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;  white-space: pre; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt; &amp;lt;X-PRE-PROCESS cmd=&quot;set&quot; data=&quot;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;  white-space: normal; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;nombre_variable&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;=valor&quot;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;El valor de una variable previamente definida se obtiene así:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;  ${nombre_variable} o $${nombre_variable}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;La diferencia entre $ y $$ es el tipo de acceso, con $ el valor se obtiene cuando se usa la variable, con $$ se maneja como valor de preprocesador y se obtiene durante la carga de FreeSWITCH o se recarga la configuración del archivo &lt;/span&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;freeswicth.xml&lt;/span&gt;&lt;/i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt; con  el comando relaodxml.  La diferencia básica es que el valor con $ es expandido en el uso mientras con $$ es expandio en la carga del sistema.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  base_dir&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;: define el directorio raíz donde se ejecuta FreeSWITCH &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  sound_prefix:&lt;/span&gt;&lt;/i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt; define el direcotrio&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;donde se encuentran los archivos de audio (esta variable esta en revisión todavia aunque se usa en                                                      la actualidad)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  local_ip_v4&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;:  dirección IP local, esta variable la define automáticamente FreeSWITCH&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  domain&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;:  define el dominio para identificar las extensiones registradas, asignado por defecto como $${local_ip_v4} &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  global_codec_prefs&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;: codecs disponibles para la negociación con las extensiones registradas&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  outbound_codec_prefs&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;: ocedecs disponibles para la negociación con gateways&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  outbound_caller_name&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;: este nombre se usa para mostrarlo en el teléfono cuando se hace una llamada&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;-  outbound_caller_id&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;: número usado para mostrarlo en el teléfono cuando se hace una llamada&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;El directorio &lt;/span&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;autoload_configs&lt;/span&gt;&lt;/i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt; contiene algunos archivos de configuración muy importante:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;modules.conf.xml&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Este archvio determina que modulos se van a carga durante el inicio de FreeSWITCH &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;sofia.conf.xlm&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Archivo de configuración para definicioenes  SIP&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Plan de marcación (dialplan)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Los planes de marcación se definen en el directorio &lt;/span&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;dialplan&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Extensiones (directory)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Las extensiones que pueden registrarse con FreeSWITCH se encuentran en el directorio &lt;/span&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;directory.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/8594060697185692369/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-archivos-de-configuracion.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/8594060697185692369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/8594060697185692369'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-archivos-de-configuracion.html' title='FreeSWITCH, archivos de configuración'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1597257649834094803.post-3989621468322430695</id><published>2009-08-02T18:23:00.000-05:00</published><updated>2010-10-05T23:01:36.034-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FreeSWITCH"/><category scheme="http://www.blogger.com/atom/ns#" term="VoIP"/><title type='text'>FreeSWITCH, descarga y construcción</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;strong&gt;Introducción&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;FreeSWITCH es uno de los mejores proyectos de comunicaciones de código abierto que hay en la actualidad, como lo describen en su sitio oficial &lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://www.freeswitch.org/&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://www.freeswitch.org/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;“FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow.”&lt;br /&gt;&lt;br /&gt;FreeSWITCH (escribiendo SWITCH en mayúscula) es una plataforma de telefonía de código abierto diseñada para facilitar la creación de productos de voz y chat escalando desde un soft-phone hasta un soft-switch. Puede ser usado como un motor de conmutación, una PBX, un media Gateway o un servidor de medios (media server) para alojar aplicaciones de IVR usando simples scritps o archivos XML para el control de flujo de la llamada.&lt;br /&gt;&lt;br /&gt;En otras palabras FreeSWITCH se puede comportar como un simple soft-phone, una PBX o en realidad un soft-switch, por ello el campo de aplicación de esta plataforma resulta tan interesante.&lt;br /&gt;&lt;br /&gt;Otra característica importante para los usuarios y programadores del mundo Windows es que puede ser construido y correr nativamente sobre Windows, también sobre Linux, Mac OS, BSD y Solaris tanto para 32 como para 64 bits (&lt;/span&gt;&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Specsheet&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://wiki.freeswitch.org/wiki/Specsheet&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Descargar el código fuente&lt;/strong&gt;&lt;br /&gt;FreeSWITCH está construido en lenguaje C y el proyecto usa Subversion como controlador de código fuente. Se pueden obtener dos revisiones desde el sitio de FreeSWITCH. Una de estas revisiones se consigue accediendo directamente a través de un cliente de Subversión el trunk de proyecto que tiene la versión más actualizada del código fuente pero no necesariamente estable. La otra revisión son las versiones estables o de prueba que se pueden acceder directamente a través una URL.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bajando el código fuente a través de Subversion&lt;/strong&gt;&lt;br /&gt;En este link se encuentra información del sitio oficial para la descarga: &lt;/span&gt;&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Download_FreeSWITCH&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://wiki.freeswitch.org/wiki/Download_FreeSWITCH&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Cuando se trabaja en Windows se tienen varias opciones para acceder a un repositorio manejado con Subversion, en esta entrega vamos a usar RapidSVN (&lt;/span&gt;&lt;a href=&quot;http://rapidsvn.tigris.org/&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://rapidsvn.tigris.org/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;) que es un cliente sencillo pero trabaja bien y nos va a permitir descarga el código fuente.&lt;br /&gt;&lt;br /&gt;El código fuente puede ser conseguido desde:&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://svn.freeswitch.org/svn/freeswitch/trunk&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://svn.freeswitch.org/svn/freeswitch/trunk&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Una vez instalamos RapidSVN se debe configurar la URL desde el menú Repositorio -&gt; Exportar e ingresamos la URL del código fuente para su descarga.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 148px; DISPLAY: block; HEIGHT: 200px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5365527795257339202&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFwW_9QdiAs2wALdmPNYVXDbaPzTwyjA2yc-q94TFnqiElrac1vy4CPhJkf5r9EGK_cY-z-bzDIghg2CwfLnl1ADgIBrmAeuYrYwO_rUp3u-mXeXMh246Gjj1ML4y-dURa2s55O71F4ehj/s200/rapidsvn_exp.png&quot; /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;Figura 1. Configuración RapidSVN para descarga del código fuente.&lt;br /&gt;&lt;br /&gt;Se debe escoger el directorio destino y seleccionar la opción “Sobrescribir”, ver figura 1.&lt;br /&gt;&lt;br /&gt;Si tenemos la posibilidad de usar los programas de línea de comandos de Subversion se puede obtener el código fuente desde: &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;   &lt;span style=&quot;font-family:georgia;&quot;&gt;svn co &lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://svn.freeswitch.org/svn/freeswitch/trunk&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://svn.freeswitch.org/svn/freeswitch/trunk&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;   directorio_destino&lt;br /&gt;&lt;br /&gt;Bajar el código fuente directamente desde los archivos de FreeSWITCH&lt;br /&gt;Las versiones de prueba o estables son normalmente publicadas en &lt;/span&gt;&lt;a href=&quot;http://files.freeswitch.org/&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://files.freeswitch.org/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Una vez obtenido el archivo se descomprime y el código fuente estará disponible.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Construcción desde el código fuente&lt;/strong&gt;&lt;br /&gt;Se debe contar con Visual Studio 2008 la versión licenciada o la versión Express, para la compatibilidad con C# es necesario que se tenga instalado el Framework 3.5 o Mono 2.0 y que el Visual Studio pueda compilar código fuente C y C#.&lt;br /&gt;Más información: &lt;/span&gt;&lt;a href=&quot;http://wiki.freeswitch.org/wiki/Installation_Guide&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;http://wiki.freeswitch.org/wiki/Installation_Guide&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;Se debe abrir la solución Freeswitch.2008.sln &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:georgia;font-size:78%;&quot;&gt;&lt;img style=&quot;TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 200px; DISPLAY: block; HEIGHT: 133px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5365528490964668338&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwyrwBV8BXSVmnt7feiUzX55GFul6tGEfu5730zmXM95bmnXuUNSrm0cpNE1Yz5Hdgmti_lWwijmLs8_apcaSbgJcPOp4KMhqsw3Fv85jfxEj7avRaqzlLZjohkGW4IdUUR5atMQkHf3y-/s200/vs2008_fs.png&quot; /&gt;&lt;br /&gt;Una vez abierta la solución se debe construir, es necesario garantizar la conexión a Internet ya que se van a descargar automáticamente algunos componentes. Una vez terminada la construcción ya contamos con los ejecutables:&lt;br /&gt;&lt;br /&gt;- FreeSwitch.exe (ejecuta una instancia de FreeSWITCH)&lt;br /&gt;- fs_cli.exe (permite conectar a una instancia de FreeSWITCH que se está ejecutando).&lt;br /&gt;&lt;br /&gt;En la próxima entrega veremos la configuración de FreeSWITCH.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://voipensando.blogspot.com/feeds/3989621468322430695/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-descarga-y-construccion.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/3989621468322430695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1597257649834094803/posts/default/3989621468322430695'/><link rel='alternate' type='text/html' href='http://voipensando.blogspot.com/2009/08/freeswitch-descarga-y-construccion.html' title='FreeSWITCH, descarga y construcción'/><author><name>Diego Toro</name><uri>http://www.blogger.com/profile/06359921267423064783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVccjmMdU50aCxrm1pm4whn0R3Z5arzvknw9E368SHxVFf1mO3dG8EePGQj35T8We6gfTCC2OzTX8m6xpQpNBzgJrGKLv3Oe7C91FaNt5iTeBaZaYua69AdUKlBQStCI/s220/DSC01272.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFwW_9QdiAs2wALdmPNYVXDbaPzTwyjA2yc-q94TFnqiElrac1vy4CPhJkf5r9EGK_cY-z-bzDIghg2CwfLnl1ADgIBrmAeuYrYwO_rUp3u-mXeXMh246Gjj1ML4y-dURa2s55O71F4ehj/s72-c/rapidsvn_exp.png" height="72" width="72"/><thr:total>2</thr:total></entry></feed>