<?xml 
version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>Proformatique communaut&#233;</title>
	<link>http://proformatique.org/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="fr">
		<title>Ploss : Communiqu&#233; de presse, relancer l'&#233;conomie num&#233;rique gr&#226;ce au logiciel libre </title>
		<link>http://www.proformatique.org/spip.php?article125</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article125</guid>
		<dc:date>2009-05-29T13:17:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Un communiqu&#233; de presse de Ploss que nous soutenons : http://ploss.fr/news/10-propositions-pour-relancer-leconomie-numerique-grace-au-logiciel-libre

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique4" rel="directory"&gt;PRESSE&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Un communiqu&#233; de presse de Ploss que nous soutenons :&lt;/p&gt; &lt;p&gt;&lt;a href='http://ploss.fr/news/10-propositions-pour-relancer-leconomie-numerique-grace-au-logiciel-libre' class='spip_out'&gt;http://ploss.fr/news/10-propositions-pour-relancer-leconomie-numerique-grace-au-logiciel-libre&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Patch pour mettre Asternic Call Center Stats en Fran&#231;ais</title>
		<link>http://www.proformatique.org/spip.php?article124</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article124</guid>
		<dc:date>2008-09-11T14:12:43Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Voici un petit patch pour mettre le logiciel du site Asternic en fran&#231;ais. Il permet de faire des stats sur les files d'attente dans Asterisk. Plus d'infos sur le site web officiel du logiciel : http://asternic.org/stats/

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique11" rel="directory"&gt;CONTRIBUTION&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Voici un petit patch pour mettre le logiciel du site Asternic en fran&#231;ais. Il permet de faire des stats sur les files d'attente dans Asterisk.&lt;/p&gt; &lt;p&gt;Plus d'infos sur le site web officiel du logiciel : &lt;a href='http://asternic.org/stats/' class='spip_out' rel='nofollow'&gt;http://asternic.org/stats/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://www.proformatique.org/sites/www.proformatique.org/IMG/zip/asternic-stats-fr-licence-20080911.patch.zip" length="7300" type="application/zip" />
		

	</item>
<item xml:lang="fr">
		<title>Openday, mettre en place un datawarehouse open source </title>
		<link>http://www.proformatique.org/spip.php?article123</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article123</guid>
		<dc:date>2008-06-11T10:34:52Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>L'initiative OpenDay organise le 23 Juin 2008, &#224; partir de 19h30 dans le cadre hightech de la Cantine, le premier OpenTech. Ces &#233;v&#232;nements gratuits ont pour vocation de favoriser la diffusion d'information sur la th&#233;matique de l'Open Source. Le premier OpenTech portera sur le th&#232;me des entrep&#244;ts de donn&#233;es (datawarehouse). Co-organis&#233; avec Ingres, cet &#233;v&#232;nement sera l'occasion de f&#234;ter le premier rendez-vous de la communaut&#233; Ingres francophone et mettre en pratique (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique8" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;L'initiative OpenDay organise le 23 Juin 2008, &#224; partir de 19h30 dans le cadre hightech de la Cantine, le premier OpenTech. Ces &#233;v&#232;nements gratuits ont pour vocation de favoriser la diffusion d'information sur la th&#233;matique de l'Open Source.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le premier OpenTech portera sur le th&#232;me des entrep&#244;ts de donn&#233;es (datawarehouse). Co-organis&#233; avec Ingres, cet &#233;v&#232;nement sera l'occasion de f&#234;ter le premier rendez-vous de la communaut&#233; Ingres francophone et mettre en pratique la base de donn&#233;es Open Source Ingres dans le cadre d'un entrep&#244;t de donn&#233;es.&lt;/p&gt; &lt;p&gt;Cet atelier se composera de 4 temps forts :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Datawarehouse, les concepts et bonnes pratiques pour stocker vos donn&#233;es.&lt;/li&gt;&lt;li&gt; Pr&#233;sentation des solutions de datawarehouse avec la base de donn&#233;es Open Source Ingres.&lt;/li&gt;&lt;li&gt; Study case et retour d'exp&#233;rience.&lt;/li&gt;&lt;li&gt; Cocktail et networking&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cet &#233;v&#233;nement s'adresse aux DSI, aux sp&#233;cialistes des bases de donn&#233;es et plus globalement &#224; toutes les personnes int&#233;ress&#233;es par les solutions Open Source.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;A propos des initiatives &lt;a href='http://www.openday.fr/' class='spip_out'&gt;OpenDay&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;OpenDay est une initiative lanc&#233;e par une communaut&#233; de chefs d'entreprises experts des th&#233;matiques de l'Open Source. Face &#224; la complexit&#233; d'un &#233;cosyst&#232;me qui ne cesse de s'agrandir et &#224; l'importance de certaines th&#233;matiques conditionnant la croissance de l'ensemble des acteurs de l'Open Source (utilisateurs, communaut&#233;s, professionnels), les OpenDays sont destin&#233;s &#224; apporter les cl&#233;s de compr&#233;hension de cet univers autour de trois types de rencontres :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; OpenDay : Quelles alternatives aux syst&#232;mes d'information propri&#233;taires ? En une demi-journ&#233;e, faire le tour des solutions Open Source existantes, de leur business models et de leurs perspectives sur une probl&#233;matique donn&#233;es (d&#233;cisionnel, infrastructure, etc.)&lt;/li&gt;&lt;li&gt; OpenTechs : D&#233;couvrir ou approfondir l'utilisation d'une solution Open Source. En deux heures, comprendre le fonctionnement d'une solution phare du march&#233;&lt;/li&gt;&lt;li&gt; FlossDay : Les enjeux des principes Open Source. En deux heures, d&#233;battre des grands enjeux du logiciel libre&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Plus d'infos par l&#224; : &lt;a href='http://www.openday.fr/datawarehouse-opensource-avec-ingres.php' class='spip_out'&gt;http://www.openday.fr/datawarehouse-opensource-avec-ingres.php&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>D&#233;couvrez Asterisk et les autres projets t&#233;l&#233;com libre</title>
		<link>http://www.proformatique.org/spip.php?article121</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article121</guid>
		<dc:date>2008-04-06T07:31:49Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Proformatique organise une soir&#233;e d&#233;di&#233; au t&#233;l&#233;com et logiciel libre le 18 avril &#224; la Cantine. N'h&#233;sitez pas &#224; venir pour d&#233;couvrir et discuter du logiciel libre et du t&#233;l&#233;com. Plus d'informations sur le site de La cantine. Update 21/04/2008 Pour ceux qui le souhaitent les slides ont &#233;t&#233; mises sur le site d&#233;di&#233; &#224; l'association telecom libre. Le lien est (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique28" rel="directory"&gt;PROFORMATIQUE&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Proformatique organise une soir&#233;e d&#233;di&#233; au t&#233;l&#233;com et logiciel libre le 18 avril &#224; la Cantine. N'h&#233;sitez pas &#224; venir pour d&#233;couvrir et discuter du logiciel libre et du t&#233;l&#233;com. Plus d'informations sur le site de La &lt;a href='http://lacantine.org/events/open-moko-telco' class='spip_out'&gt;cantine&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;i&gt;Update 21/04/2008&lt;/i&gt;&lt;/p&gt; &lt;p&gt;Pour ceux qui le souhaitent les slides ont &#233;t&#233; mises sur le site d&#233;di&#233; &#224; l'association telecom libre. Le lien est &lt;a href='http://www.telecom-libre.org/' class='spip_out'&gt;http://www.telecom-libre.org&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>tree + md5sum == tree_md5</title>
		<link>http://www.proformatique.org/spip.php?article120</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article120</guid>
		<dc:date>2008-03-15T00:40:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Guillaume</dc:creator>



		<description>&lt;p&gt;tree_md5 is a tiny Python script that mixes functions of &quot;tree&quot; and of &quot;md5sum&quot;&lt;/p&gt;

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique11" rel="directory"&gt;CONTRIBUTION&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Have you ever wanted to describe a filesystem subtree with, as an extra bonus, the md5sum of each file ?&lt;/p&gt; &lt;p&gt;I have.&lt;/p&gt; &lt;p&gt;Here is a tiny Python script that mixes functions of &quot;tree&quot; and of &quot;md5sum&quot;, just for your pleasure.&lt;/p&gt; &lt;p&gt;Feel free to do whatever you want with it.&lt;/p&gt; &lt;dl class='spip_document_112 spip_documents spip_documents_center' &gt;
&lt;dt&gt;&lt;a href=&quot;http://www.proformatique.org/sites/www.proformatique.org/IMG/zip/tree_md5.zip&quot; title='Zip - 2 ko' type=&quot;application/zip&quot;&gt;&lt;img src='http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L52xH52/zip-2bcd4.png' width='52' height='52' alt='Zip - 2 ko' style='height:52px;width:52px;' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;tree_md5&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='spip_doc_descriptif' style='width:120px;'&gt;tree_md5 is a tiny Python script that mixes functions of &quot;tree&quot; and of &quot;md5sum&quot;
&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>CDR postgres Asterisk</title>
		<link>http://www.proformatique.org/spip.php?article119</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article119</guid>
		<dc:date>2008-01-04T15:01:24Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Voici une contribution de Damien Griessinger sur l'installation des CDR dans Postgres. Merci &#224; lui ! Installation de postgresql 8.2 vim /etc/apt/sources.list ajoute cette ligne : deb http://www.backports.org/debian etch-backports main contrib non-free Puis wget &#8211;O &#8211; http://backports.org/debian/archive.key | apt-key add - apt-get update apt-get install postgresql-8.2 vim /etc/postgresql/8.2/main/postgresql.conf Dans le fichier : listen = &#8216;*' (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique30" rel="directory"&gt;Asterisk&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Voici une contribution de Damien Griessinger sur l'installation des CDR dans Postgres. Merci &#224; lui !&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Installation de postgresql 8.2 &lt;/h3&gt;
&lt;pre&gt;
vim /etc/apt/sources.list
&lt;/pre&gt;
&lt;p&gt;ajoute cette ligne :&lt;/p&gt; &lt;pre&gt; deb &lt;a href='http://www.backports.org/debian' class='spip_out' rel='nofollow'&gt;http://www.backports.org/debian&lt;/a&gt; etch-backports main contrib non-free
&lt;/pre&gt;
&lt;p&gt;Puis&lt;/p&gt; &lt;pre&gt;
wget &#8211;O &#8211; &lt;a href='http://backports.org/debian/archive.key' class='spip_out' rel='nofollow'&gt;http://backports.org/debian/archive.key&lt;/a&gt; | apt-key add - apt-get update
apt-get install postgresql-8.2
vim /etc/postgresql/8.2/main/postgresql.conf
&lt;/pre&gt;
&lt;p&gt;Dans le fichier :&lt;/p&gt; &lt;pre&gt;
listen = &#8216;*'
max_connection = 20 # depend du nombre d'user en simultan&#233;s, mais 20 c bon
ssl = false
&lt;/pre&gt;
&lt;p&gt;Puis &#233;dition du fichier pg_hba.conf.&lt;/p&gt; &lt;pre&gt;
vim /etc/postgresql/8.2/main/pg_hba.conf
&lt;/pre&gt;
&lt;p&gt;On autorise les ip, exemple :&lt;/p&gt; &lt;pre&gt;
host all all 192.168.1.196/32 trust # machine d'admin sans auth
&lt;/pre&gt;
&lt;p&gt;On red&#233;marre Postgres.&lt;/p&gt; &lt;pre&gt;
/etc/init.d/postgresql-8.2 restart
&lt;/pre&gt;
&lt;p&gt;Puis on cr&#233;e notre utilisateur postgres.&lt;/p&gt; &lt;pre&gt;
su - postgres
pgql&gt; createuser &#8211;A &#8211;D &#8211;P xivouser
Mdp : azerty
Confirm : azerty
Can create role (Y/n) : n
&lt;p&gt;createdb &#8212;encoding=latin9 &#8212;owner=xivouser xivo
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Puis on cr&#233;e notre base avec le sch&#233;ma&lt;/p&gt; &lt;pre&gt;
psql &#8211;U xivouser xivo
&lt;p&gt;CREATE TABLE cdr
( acctid bigserial NOT NULL, calldate timestamp with time zone NOT NULL DEFAULT now(), clid character varying(80) NOT NULL DEFAULT '' ::character varying, src character varying(80) NOT NULL DEFAULT '' ::character varying, dst character varying(80) NOT NULL DEFAULT '' ::character varying, dcontext character varying(80) NOT NULL DEFAULT '' ::character varying, channel character varying(80) NOT NULL DEFAULT '' ::character varying, dstchannel character varying(80) NOT NULL DEFAULT '' ::character varying, lastapp character varying(80) NOT NULL DEFAULT '' ::character varying, lastdata character varying(80) NOT NULL DEFAULT '' ::character varying, duration integer NOT NULL DEFAULT 0, billsec integer NOT NULL DEFAULT 0, disposition character varying(45) NOT NULL DEFAULT '' ::character varying, amaflags integer NOT NULL DEFAULT 0, accountcode character varying(20) NOT NULL DEFAULT '' ::character
varying, uniqueid character varying(32) NOT NULL DEFAULT '' ::character varying, userfield character varying(255) NOT NULL DEFAULT '' ::character varying, CONSTRAINT cdr_pkey PRIMARY KEY (acctid)
)
WITH (OIDS=FALSE) ;
ALTER TABLE cdr OWNER TO xivouser ;
GRANT ALL ON TABLE cdr TO xivouser ;
CREATE INDEX accountcode_ind ON cdr USING btree (accountcode) ;&lt;/p&gt; &lt;p&gt;CREATE INDEX calldate_ind ON cdr USING btree (calldate) ;&lt;/p&gt; &lt;p&gt;CREATE INDEX dst_ind ON cdr USING btree (dst) ;&lt;/p&gt; &lt;p&gt;exit
&lt;/p&gt;
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; Connexion de asterisk sur pg &lt;/h3&gt;
&lt;p&gt;On &#233;dite le fichier de configuration&lt;/p&gt; &lt;pre&gt;
vim /etc/asterisk/cdr_pgsql.conf
&lt;p&gt;[global]
hostname=localhost
port=5432
dbname=xivo
user=xivouser
password=azerty
table=cdr
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Puis on &#233;dite le fichier de configuration des CDR.&lt;/p&gt; &lt;pre&gt;
vim /etc/asterisk/cdr.conf
&lt;p&gt;[general]
enable=yes
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;On &#233;dite le fichier des modules d'Asterisk pour activer le cdr_pgsql.&lt;/p&gt; &lt;pre&gt;
vim /etc/asterisk/modules.conf
&lt;/pre&gt;
&lt;p&gt;Changer le noload&lt;/p&gt; &lt;pre&gt;
Load =&gt; cdr_pgsql.so
&lt;/pre&gt;
&lt;p&gt;Puis on red&#233;marre Asterisk.&lt;/p&gt; &lt;pre&gt;
/etc/init.d/asterisk restart
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; Outil web pour les stats &lt;/h3&gt;
&lt;pre&gt;
cd /usr/share/pf-xivo-web-interface/www/
wget &lt;a href='http://www.areski.net/asterisk-stat-v2/asterisk-stat-v2_0_1.tar.gz' class='spip_out' rel='nofollow'&gt;http://www.areski.net/asterisk-stat...&lt;/a&gt;
tar xfvz asterisk-stat-v2_0_1.tar.gz
rm asterisk-stat-v2_0_1.tar.gz
mv asterisk-stat-v2_0_1 stats
cd stats/lib/
&lt;p&gt;vim defines.php&lt;/p&gt; &lt;p&gt;define (&quot;WEBROOT&quot;, &quot;https://192.168.1.3/stats/&quot;) ;
define (&quot;FSROOT&quot;, &quot;/usr/share/pf-xivo-web-interface/www/stats/&quot;) ;
define (&quot;LIBDIR&quot;, FSROOT.&quot;lib/&quot;) ; define (&quot;HOST&quot;, &quot;localhost&quot;) ;
define (&quot;PORT&quot;, &quot;5432&quot;) ;
define (&quot;USER&quot;, &quot;xivouser&quot;) ;
define (&quot;PASS&quot;, &quot;azerty&quot;) ;
define (&quot;DBNAME&quot;, &quot;xivo&quot;) ; define (&quot;DB_TYPE&quot;, &quot;postgres&quot;) ;
define (&quot;DB_TABLENAME&quot;, &quot;cdr&quot;) ;&lt;/p&gt; &lt;p&gt;cd ..
vim index.php&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;?php&lt;br /&gt; header&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;'location:cdr.php'&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;/p&gt; &lt;p&gt;apt-get install php4-gd php4-pgsql
/etc/init.d/apache restart
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Voila, on peux maintenant suivre les cdr sur :&lt;/p&gt; &lt;p&gt;https://192.168.1.3/stats/&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Python / YouTube</title>
		<link>http://www.proformatique.org/spip.php?article118</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article118</guid>
		<dc:date>2007-12-25T03:13:27Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Voici une petite librairie sous licence LGPL que j'ai port&#233; en python depuis php vous permettant de pouvoir faire des download ou upload sur Youtube. C'est vraiment tr&#232;s simple a utiliser : Pour le download : tube = PyTube() tube.download(&quot;h1DoDqpTunM&quot;,&quot;demo.flv&quot;) Le premier argument est la r&#233;f&#233;rence de youtube dans l'url. Si vous souhaitez convertir le flv en avi, utilisez ffmeg. Exemple simple : ffmpeg -i demo.flv demo.avi Pour l'upload : tube = (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique29" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Voici une petite librairie sous licence LGPL que j'ai port&#233; en python depuis php vous permettant de pouvoir faire des download ou upload sur Youtube.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;C'est vraiment tr&#232;s simple a utiliser :&lt;/p&gt; &lt;p&gt;Pour le download :&lt;/p&gt; &lt;pre&gt; tube = PyTube()
tube.download(&quot;h1DoDqpTunM&quot;,&quot;demo.flv&quot;)
&lt;/pre&gt;
&lt;p&gt;Le premier argument est la r&#233;f&#233;rence de youtube dans l'url. Si vous souhaitez convertir le flv en avi, utilisez ffmeg.&lt;/p&gt; &lt;p&gt;Exemple simple :&lt;/p&gt; &lt;pre&gt;
ffmpeg -i demo.flv demo.avi
&lt;/pre&gt;
&lt;p&gt;Pour l'upload :&lt;/p&gt; &lt;pre&gt;
tube = PyTube('login', 'pass', False)
tube.upload(&quot;test.mp4&quot;,&quot;blogmotion Demo&quot;, &quot;Demo python YouTube&quot;, &quot;...&quot;, &quot;10&quot;, &quot;FR&quot;)
&lt;/pre&gt;
&lt;p&gt;Bonne f&#234;te &#224; tous !&lt;/p&gt; &lt;p&gt;N'h&#233;sitez pas &#224; la modifier et l'am&#233;liorer :-).&lt;/p&gt; &lt;p&gt;L'original en php se trouve ici : &lt;a href='http://kamleitner.com/code/phptube-youtube-api-f-video-upload-download/' class='spip_out' rel='nofollow'&gt;http://kamleitner.com/code/phptube-...&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://www.proformatique.org/sites/www.proformatique.org/IMG/tgz/PyTube.tgz" length="3746" type="application/x-gtar" />
		

	</item>
<item xml:lang="fr">
		<title>La video sous Asterisk (UMTS/3G)</title>
		<link>http://www.proformatique.org/spip.php?article117</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article117</guid>
		<dc:date>2007-12-17T11:11:44Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Voici un sujet assez complexe dans Asterisk car c'est loin d'&#234;tre prioritaire chez Digium, et du coup le support est assez l&#233;ger. Heureusement l'avantage d'un projet communautaire et que des gens peuvent quand m&#234;me faire avancer tout &#231;a. La branche video-caps d'Asterisk a &#233;t&#233; cr&#233;&#233;e par Olle E Johansson suite &#224; l'Astricon video &#224; l'INRIA il y a maintenant plus d'un 1 an. Puis il y a eu le projet de la librairie h324m avec les applications qui (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique30" rel="directory"&gt;Asterisk&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Voici un sujet assez complexe dans Asterisk car c'est loin d'&#234;tre prioritaire chez Digium, et du coup le support est assez l&#233;ger. Heureusement l'avantage d'un projet communautaire et que des gens peuvent quand m&#234;me faire avancer tout &#231;a. La branche video-caps d'Asterisk a &#233;t&#233; cr&#233;&#233;e par Olle E Johansson suite &#224; l'Astricon video &#224; l'INRIA il y a maintenant plus d'un 1 an. Puis il y a eu le projet de la librairie h324m avec les applications qui en d&#233;coule pour la partie 3G. A l'heure actuelle Asterisk supporte assez bien la vid&#233;o en point &#224; point avec des videophones comme GrandStream GVX3000 ou des softphones comme Ekiga, Openwengo, Linphone ou Eyebeam qui utilise des codecs comme h261,h263 ou encore h264. Cet article j'esp&#232;re, vous permettra de mettre en oeuvre Asterisk avec le support de la 3G assez facilement.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h3 class=&quot;spip&quot;&gt; Traduction &lt;/h3&gt;
&lt;p&gt;J'ai mis en place une version wiki permettant de traduire. Merci &#224; tous les traducteurs.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;a href='http://asterisk-party.org/index.php/Asterisk_Video_3G_EN' class='spip_out'&gt;Anglais&lt;/a&gt;
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;a href='http://asterisk-party.org/index.php/Asterisk_Video_3G_ES' class='spip_out'&gt;Espagnol&lt;/a&gt;
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;a href='http://asterisk-party.org/index.php/Asterisk_Video_3G_FR' class='spip_out'&gt;Fran&#231;ais&lt;/a&gt;
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; &lt;a href='http://asterisk-party.org/index.php/Asterisk_Video_3G_BR' class='spip_out'&gt;Portugais&lt;/a&gt;&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt; Objectif &lt;/h3&gt;
&lt;p&gt;Installer Asterisk 1.4 avec le support de la vid&#233;o 3G sur une distribution Debian etch. Nous utiliserons aussi une carte Digium B410P avec avec port BRI. (T0)&lt;/p&gt; &lt;p&gt;Pour le moment, semble fonctionner avec un t&#233;l&#233;phone Nokia n95 (SFR) et le dernier LG (Orange). Ne semble pas marcher avec un Sony Ericson k600i (Orange).&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt; Installation / mise &#224; jour de debian &lt;/h3&gt;
&lt;p&gt;Le premi&#232;re chose &#224; faire sera d'installer un syst&#232;me d'exploitation GNU/Linux. Nous allons choisir la distribution debian. Disponible sur &lt;a href='http://www.debian.org/' class='spip_out' rel='nofollow'&gt;http://www.debian.org&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Une fois l'installation termin&#233;e et vu qu'il s'agit d'une installation toute nouvelle, nous devons mettre &#224; jour notre distribution.&lt;/p&gt; &lt;p&gt;Lancez dans un prompt&lt;/p&gt; &lt;pre&gt; aptitude update aptitude dist-upgrade
&lt;/pre&gt;
&lt;p&gt;R&#233;pondez Y &#224; la mise &#224; jour. Puis rebooter votre machine car il y a s&#251;rement des mises &#224; jour sur le noyau linux.&lt;/p&gt; &lt;pre&gt; reboot
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; Installation des drivers mISDN &lt;/h3&gt;
&lt;p&gt;Ces drivers nous permettrons d'avoir une connection sur un T0 avec une carte B410P de chez Digium.&lt;/p&gt; &lt;p&gt;Si jamais vous n'avez pas install&#233; les outils de compilation, n'oubliez pas de les installer, ainsi que les kernel headers pour les modules mISDN.&lt;/p&gt; &lt;pre&gt; aptitude install build-essential aptitude install linux-headers-2.6.18-5-686
&lt;/pre&gt;
&lt;pre&gt; cd /usr/src/ wget &lt;a href='http://www.misdn.org/downloads/releases/mISDN-1_1_7.tar.gz' class='spip_out' rel='nofollow'&gt;http://www.misdn.org/downloads/rele...&lt;/a&gt; tar xfvz mISDN-1_1_7.tar.gz cd mISDN-1_1_7 make make install cd .. aptitude install flex wget &lt;a href='http://www.misdn.org/downloads/releases/mISDNuser-1_1_7.tar.gz' class='spip_out' rel='nofollow'&gt;http://www.misdn.org/downloads/rele...&lt;/a&gt; tar xfvz mISDNuser-1_1_7.tar.gz cd mISDNuser-1_1_7 make make install
&lt;/pre&gt;
&lt;p&gt;Installation des d&#233;pendances pour faire marcher mISDN&lt;/p&gt; &lt;pre&gt; aptitude install pciutils bc
&lt;/pre&gt;
&lt;p&gt;Puis configuration de la carte&lt;/p&gt; &lt;pre&gt; /etc/init.d/misdn-init scan /etc/init.d/misdn-init config /etc/init.d/misdn-init start
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; V&#233;rification de la pr&#233;sence des d&#233;pendances n&#233;cessaire. &lt;/h3&gt;
&lt;p&gt;Dans un terminal utilisez dpkg pour v&#233;rifier la pr&#233;sence de openssl, zlib, zlib-devel, curl, libnewt-dev.&lt;/p&gt; &lt;pre&gt; dpkg -l libncurses5 libncurses5-dev libssl0.9.7 libssl-dev zlib1g zlib1g-dev curl libnewt-dev
&lt;p&gt; Souhait=inconnU/Install&#233;/suppRim&#233;/Purg&#233;/H=&#224; garder | &#201;tat=Non/Install&#233;/fichier-Config/d&#233;paqUet&#233;/&#233;chec-conFig/H=semi-install&#233; |/ Err ?=(aucune)/H=&#224; garder/besoin R&#233;installation/X=les deux (&#201;tat,Err : majuscule=mauvais) ||/ Nom Version Description +++-=================================-=================================-================================================================================== ii libncurses5 5.4-4 Shared libraries for terminal handling ii libncurses5-dev 5.4-4 Developer's libraries and docs for ncurses ii libssl0.9.7 0.9.7e-3sarge4 SSL shared libraries ii libssl-dev 0.9.7e-3sarge4 SSL development libraries, header files and documentation ii libnewt-dev 0.52.2-10 Developer's toolkit for newt windowing library ii zlib1g 1.2.2-4.sarge.2 compression library - runtime ii zlib1g-dev 1.2.2-4.sarge.2 compression library - development ii curl 7.13.2-2sarge5 Get a file from an HTTP, HTTPS, FTP or GOPHER server
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Vous devez avoir tous les paquets requis install&#233;s.&lt;/p&gt; &lt;p&gt;Si cela n'est pas le cas il faudra les installer avec la commande :&lt;/p&gt; &lt;pre&gt; aptitude install libncurses5 libncurses5-dev libssl0.9.7 libssl-dev zlib1g zlib1g-dev curl libnewt-dev
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; T&#233;l&#233;charger les tarballs du code source de la version 1.4 &lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; Dans un terminal, connectez vous en root avec sudo -s.
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; Changez de r&#233;pertoire&lt;/p&gt; &lt;pre&gt; cd /usr/src wget &lt;a href='http://downloads.digium.com/pub/asterisk/asterisk-1.4.15.tar.gz' class='spip_out' rel='nofollow'&gt;http://downloads.digium.com/pub/ast...&lt;/a&gt; wget &lt;a href='http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4.5.tar.gz' class='spip_out' rel='nofollow'&gt;http://downloads.digium.com/pub/ast...&lt;/a&gt; wget &lt;a href='http://downloads.digium.com/pub/zaptel/zaptel-1.4.7.tar.gz' class='spip_out' rel='nofollow'&gt;http://downloads.digium.com/pub/zap...&lt;/a&gt; wget &lt;a href='http://downloads.digium.com/pub/telephony/libpri/libpri-1.4.2.tar.gz' class='spip_out' rel='nofollow'&gt;http://downloads.digium.com/pub/tel...&lt;/a&gt; wget &lt;a href='http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-fr-wav-current.tar.gz' class='spip_out' rel='nofollow'&gt;http://downloads.digium.com/pub/tel...&lt;/a&gt; wget &lt;a href='http://downloads.digium.com/pub/telephony/sounds/asterisk-moh-freeplay-wav.tar.gz' class='spip_out' rel='nofollow'&gt;http://downloads.digium.com/pub/tel...&lt;/a&gt;
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; D&#233;compresser le code source &lt;/h3&gt;
&lt;p&gt;Toujours en &#233;tant connect&#233; en root, dans le r&#233;pertoire /usr/src, d&#233;compressez le code source :&lt;/p&gt; &lt;pre&gt; tar xfvz asterisk-1.4.15.tar.gz tar xfvz asterisk-addons-1.4.5.tar.gz tar xfvz libpri-1.4.2.tar.gz tar xfvz zaptel-1.4.7.tar.gz
&lt;/pre&gt;
&lt;p&gt;Vous devez maintenant avoir les r&#233;pertoires suivants :&lt;/p&gt; &lt;pre&gt; libpri-1.4.2 zaptel-1.4.7 asterisk-1.4.15 asterisk-addons-1.4.5
&lt;/pre&gt;
&lt;p&gt;Nous traiterons les fichiers sons et les fichiers de la musique d'attente un peu plus tard.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt; Compiler Asterisk et ses d&#233;pendances &lt;/h3&gt;
&lt;p&gt;L'ordre que nous devons suivre pour compiler le code&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; libpri
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; zaptel
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; asterisk
&lt;br /&gt;&lt;img src=&quot;http://www.proformatique.org/sites/www.proformatique.org/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; asterisk-addons&lt;/p&gt; &lt;p&gt;Vous remarquerez que Zaptel et Asterisk poss&#232;dent une &#233;tape suppl&#233;mentaire : make config&lt;/p&gt; &lt;p&gt;Le ''make config'' configure linux afin qu'il lance ces applications au d&#233;marrage.&lt;/p&gt; &lt;pre&gt; cd libpri-1.4.2 make make install cd ..
&lt;p&gt; cd zaptel-1.4.7 ./configure make make install make config cd ..&lt;/p&gt; &lt;p&gt; cd asterisk-1.4.15 ./configure make make install make samples make config cd ..&lt;/p&gt; &lt;p&gt; cd asterisk-addons-1.4.5 ./configure make make install make samples cd ..
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Apr&#232;s la prochaine &#233;tape consistant &#224; red&#233;marrer, vous devez avoir un Asterisk fonctionnel.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt; Installation du support 3G Asterisk &lt;/h3&gt;
&lt;p&gt;D&#233;veloppeur : &lt;a href='http://sip.fontventa.com/' class='spip_out' rel='nofollow'&gt;http://sip.fontventa.com&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt; R&#233;cup&#233;ration des outils &lt;/strong&gt;&lt;/p&gt; &lt;pre&gt; aptitude install subversion aptitude install libpt-1.11.2-dev cd /usr/src/ svn co &lt;a href='http://sip.fontventa.com/svn/asterisk/' class='spip_out' rel='nofollow'&gt;http://sip.fontventa.com/svn/asterisk/&lt;/a&gt; asterisk-video cd asterisk-video
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt; Compilation de la librairie H324M &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Comme nous souhaitons utiliser cette librairie avec mISDN, il faudra modifier le fichier h324m.cpp et commenter les lignes avec // qui contiendront TIFFReverseBits&lt;/p&gt; &lt;p&gt;&lt;i&gt;Attention, ceci n'est valable que pour mISDN et non pour zaptel. Voir le lien : &lt;a href='http://sip.fontventa.com/content/view/26/53/' class='spip_out' rel='nofollow'&gt;http://sip.fontventa.com/content/vi...&lt;/a&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;Nous allons le modifier avec ce petit patch. Il suffit de le copier dans un fichier, par exemple misdn_patch_h324m.diff puis d'aller dans le r&#233;pertoire.&lt;/p&gt; &lt;p&gt;Le patch&lt;/p&gt; &lt;pre&gt; --- h324m.cpp 2007-12-17 09:06:50.000000000 +0100 +++ h324m.cpp.orig 2007-12-17 09:06:22.000000000 +0100 @@ -40,14 +40,14 @@
&lt;p&gt; int H324MSessionRead(void * id,unsigned char *buffer,int len) &lt;i&gt; - //TIFFReverseBits(buffer,len) ; + TIFFReverseBits(buffer,len) ; return ((H324MSession*)id)-&gt;Read(buffer,len) ; &lt;/i&gt;&lt;/p&gt; &lt;p&gt; int H324MSessionWrite(void * id,unsigned char *buffer,int len) &lt;i&gt; int ret = ((H324MSession*)id)-&gt;Write(buffer,len) ; - //TIFFReverseBits(buffer,len) ; + TIFFReverseBits(buffer,len) ; return ret ; &lt;/i&gt;
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Puis&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-video/libh324m cp &lt;i&gt;endroit_de_votre_patch&lt;/i&gt; .
&lt;/pre&gt;
&lt;p&gt;Pour le patcher&lt;/p&gt; &lt;pre&gt; patch -p0 &lt; misdn_patch_h324m.diff
&lt;/pre&gt;
&lt;p&gt;Puis nous pourrons compiler la librairie&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-video/libh324m make make install
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Installation du codec AMR &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Nous allons installer notre codec AMR afin de pouvoir prendre en compte ce codec qui n'est pas par d&#233;faut dans Asterisk.&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-1.4.15 patch -p0 &lt; /usr/src/asterisk-video/amr/amr-asterisk-patch.txt cd codecs ln -s ../../asterisk-video/amr/amr_slin_ex.h . ln -s ../../asterisk-video/amr/slin_amr_ex.h . ln -s ../../asterisk-video/amr/codec_amr.c . mkdir amr cd amr wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-700.zip aptitude install unzip unzip -j 26104-700.zip unzip -j 26104-700_ANSI_C_source_code.zip ln -s ../../asterisk-video/amr/Makefile .
&lt;/pre&gt;
&lt;p&gt;Editer le fichier Makefile dans /usr/src/asterisk-1.4.15/codecs et modifier la ligne 59 :&lt;/p&gt; &lt;pre&gt; vi /usr/src/asterisk-1.4.15/codecs/Makefile
&lt;/pre&gt;
&lt;p&gt;Changer&lt;/p&gt; &lt;pre&gt; $(LIBAMR) : @$(MAKE) -C amr
&lt;/pre&gt;
&lt;p&gt;par&lt;/p&gt; &lt;pre&gt; $(LIBAMR) : @$(MAKE) -C amr all
&lt;/pre&gt;
&lt;p&gt;Vous pouvez &#233;galement modifier les fichiers interf_enc.c et interf_dec.c en enlevant les caract&#232;res bizarre en fin du fichier.
Puis retourner dans les sources d'Asterisk.&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-1.4.15/ ./configure make make install
&lt;/pre&gt;
&lt;p&gt;Rajouter la ligne suivante dans votre fichier de configuration des codecs Asterisk (/etc/asterisk/codecs.conf)&lt;/p&gt; &lt;pre&gt; [amr] octet-aligned=1
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt; Installation de l'application H324 gateway &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Cette application permettra d'avoir des commandes pour recevoir et &#233;mettre des appels en 3G. Nous allons ajouter un petit Makefile afin de pouvoir recompiler plus facilement notre application.&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-video/app_h324m cat Makefile &lt;&lt; EOF ---------- cut ------------ CFLAGS ?= -O2 -fPIC Z_CFLAGS := $(CFLAGS) -D _GNU_SOURCE -Wall -Wmissing-prototypes -Wstrict-prototypes LIBS ?= Z_LIBS := $(LIBS) -lpthread -lh324m
&lt;p&gt; BINARY = app_h324m.so OBJECTS = app_h324m.o&lt;/p&gt; &lt;p&gt; DESTDIR ?= PREFIX ?= /usr&lt;/p&gt; &lt;p&gt; .PHONY : install clean&lt;/p&gt; &lt;p&gt; $(BINARY) : $(OBJECTS) $(CC) -shared -Xlinker -x -o $(BINARY) $(OBJECTS) $(Z_LIBS)&lt;/p&gt; &lt;p&gt; %.o : %.c $(CC) $(Z_CFLAGS) -c -o $@ $&lt;&lt;/p&gt; &lt;p&gt; install : $(BINARY) install -d $(DESTDIR)$(PREFIX)/lib/asterisk/modules install -m 755 $(BINARY) $(DESTDIR)$(PREFIX)/lib/asterisk/modules&lt;/p&gt; &lt;p&gt; clean : rm -f $(BINARY) $(OBJECTS) ---------- cut --------- EOF
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Il faudra &#233;galement modifier le fichier app_h324m.c en ajoutant ligne 48 ce #define.&lt;/p&gt; &lt;pre&gt; #define AST_MODULE &quot;h324m application&quot;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt; Installation de la librairie mpeg4ip &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Cette librairie est une d&#233;pendance de l'application app_mp4.&lt;/p&gt; &lt;pre&gt; cd /usr/src/ wget &lt;a href='http://heanet.dl.sourceforge.net/sourceforge/mpeg4ip/mpeg4ip-1.5.0.1.tar.gz' class='spip_out' rel='nofollow'&gt;http://heanet.dl.sourceforge.net/so...&lt;/a&gt; tar xfvz mpeg4ip-1.5.0.1.tar.gz cd mpeg4ip-1.5.0.1 aptitude install libtool ./bootstrap ./configure &#8212;disable-player &#8212;prefix=/usr make make install
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt; Installation de l'application app_mp4 &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Nous allons encore une fois cr&#233;er un fichier Makefile.&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-video/app_mp4 cat Makefile &lt;&lt; EOF ---------- cut ------------ CFLAGS ?= -O2 -fPIC Z_CFLAGS := $(CFLAGS) -D _GNU_SOURCE -Wall -Wmissing-prototypes -Wstrict-prototypes LIBS ?= Z_LIBS := $(LIBS) -lpthread -lmp4 -lmp4v2
&lt;p&gt; BINARY = app_mp4.so OBJECTS = app_mp4.o&lt;/p&gt; &lt;p&gt; DESTDIR ?= PREFIX ?= /usr&lt;/p&gt; &lt;p&gt; .PHONY : install clean&lt;/p&gt; &lt;p&gt; $(BINARY) : $(OBJECTS) $(CC) -shared -Xlinker -x -o $(BINARY) $(OBJECTS) $(Z_LIBS)&lt;/p&gt; &lt;p&gt; %.o : %.c $(CC) $(Z_CFLAGS) -c -o $@ $&lt;&lt;/p&gt; &lt;p&gt; install : $(BINARY) install -d $(DESTDIR)$(PREFIX)/lib/asterisk/modules install -m 755 $(BINARY) $(DESTDIR)$(PREFIX)/lib/asterisk/modules&lt;/p&gt; &lt;p&gt; clean : rm -f $(BINARY) $(OBJECTS) ---------- cut --------- EOF
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Modifier la ligne 51 du fichier app_mp4.c et ajouter ceci :&lt;/p&gt; &lt;pre&gt; #define AST_MODULE &quot;MP4 application&quot;
&lt;/pre&gt;
&lt;p&gt;Puis lancer la compilation avec :&lt;/p&gt; &lt;pre&gt; make make install
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt; Compilation de l'application app_rtsp &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Permet de streamer du flux RTSP.&lt;/p&gt; &lt;pre&gt; CFLAGS ?= -O2 -fPIC Z_CFLAGS := $(CFLAGS) -D _GNU_SOURCE -Wall -Wmissing-prototypes -Wstrict-prototypes LIBS ?= Z_LIBS := $(LIBS) -lpthread
&lt;p&gt; BINARY = app_rtsp.so OBJECTS = app_rtsp.o&lt;/p&gt; &lt;p&gt; DESTDIR ?= PREFIX ?= /usr&lt;/p&gt; &lt;p&gt; .PHONY : install clean&lt;/p&gt; &lt;p&gt; $(BINARY) : $(OBJECTS) $(CC) -shared -Xlinker -x -o $(BINARY) $(OBJECTS) $(Z_LIBS)&lt;/p&gt; &lt;p&gt; %.o : %.c $(CC) $(Z_CFLAGS) -c -o $@ $&lt;&lt;/p&gt; &lt;p&gt; install : $(BINARY) install -d $(DESTDIR)$(PREFIX)/lib/asterisk/modules install -m 755 $(BINARY) $(DESTDIR)$(PREFIX)/lib/asterisk/modules&lt;/p&gt; &lt;p&gt; clean : rm -f $(BINARY) $(OBJECTS)
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Ne pas oublier aussi de rajouter le #define dans le fichier app_rtsp.c&lt;/p&gt; &lt;pre&gt; #define AST_MODULE &quot;Rtsp application&quot;
&lt;/pre&gt;
&lt;p&gt;Comme fait pr&#233;c&#233;dement, copier le fichier Makefile puis taper :&lt;/p&gt; &lt;pre&gt; make make install
&lt;/pre&gt;
&lt;p&gt;Pour l'utiliser mettez dans votre sip.conf dans [general].&lt;/p&gt; &lt;pre&gt; videosupport=yes
&lt;p&gt; disable=all allow=ulaw allow=alaw allow=h263 allow=h263p
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Puis dans votre dialplan (/etc/asterisk/extensions.conf) dans la section [default] par exemple :&lt;/p&gt; &lt;pre&gt; [default] exten =&gt; 5003,1,Answer() exten =&gt; 5003,n,Rtsp(rtsp ://192.168.1.1/live.sdp) exten =&gt; 5003,n,Hangup()
&lt;/pre&gt;
&lt;p&gt;== Installation de l'application app_transcoder ==&lt;/p&gt; &lt;pre&gt; aptitude install libavcodec-dev
&lt;/pre&gt;
&lt;p&gt;&lt;i&gt;Attention, le fichier swscale.h est explicitement effacer par le packaging de debian car il est vu comme plus utilis&#233;. Nous allons donc le r&#233;cup&#233;rer pour compiler correctement notre application. &lt;/i&gt;&lt;/p&gt; &lt;p&gt;Ajouter un repository source dans votre fichier /etc/apt/sources.list.&lt;/p&gt; &lt;pre&gt; deb-src &lt;a href='http://ftp.fr.debian.org/debian/' class='spip_out' rel='nofollow'&gt;http://ftp.fr.debian.org/debian/&lt;/a&gt; etch main contrib non-free
&lt;/pre&gt;
&lt;p&gt;Puis t&#233;l&#233;charger les sources de ffmpeg.&lt;/p&gt; &lt;pre&gt; cd /usr/src apt-get source ffmpeg
&lt;/pre&gt;
&lt;p&gt;Puis nous allons copier l'header manquant dans le r&#233;pertoire des includes.&lt;/p&gt; &lt;pre&gt; cp /usr/src/ffmpeg-0.cvs20060823/libavcodec/swscale.h /usr/include/ffmpeg/
&lt;/pre&gt;
&lt;p&gt;Ajouter dans le fichier app_transcoder.c &#224; la ligne 47.&lt;/p&gt; &lt;pre&gt; #define AST_MODULE &quot;Transcoder application&quot;
&lt;/pre&gt;
&lt;p&gt;Puis mettez le fichier Makefile&lt;/p&gt; &lt;pre&gt; CFLAGS ?= -O2 -fPIC Z_CFLAGS := $(CFLAGS) -D _GNU_SOURCE -Wall -Wmissing-prototypes -Wstrict-prototypes LIBS ?= Z_LIBS := $(LIBS) -lpthread -lavcodec
&lt;p&gt; BINARY = app_transcoder.so OBJECTS = app_transcoder.o&lt;/p&gt; &lt;p&gt; DESTDIR ?= PREFIX ?= /usr&lt;/p&gt; &lt;p&gt; .PHONY : install clean&lt;/p&gt; &lt;p&gt; $(BINARY) : $(OBJECTS) $(CC) -shared -Xlinker -x -o $(BINARY) $(OBJECTS) $(Z_LIBS)&lt;/p&gt; &lt;p&gt; %.o : %.c $(CC) $(Z_CFLAGS) -c -o $@ $&lt;&lt;/p&gt; &lt;p&gt; install : $(BINARY) install -d $(DESTDIR)$(PREFIX)/lib/asterisk/modules install -m 755 $(BINARY) $(DESTDIR)$(PREFIX)/lib/asterisk/modules&lt;/p&gt; &lt;p&gt; clean : rm -f $(BINARY) $(OBJECTS)
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Puis il suffira de lancer :&lt;/p&gt; &lt;pre&gt; make make install
&lt;/pre&gt;
&lt;p&gt;Pour s'en servir ajouter dans le fichier extensions.conf dans la section&lt;/p&gt; &lt;pre&gt;
[default] :
&lt;p&gt; exten =&gt; 5004,1,Answer() exten =&gt; 5004,n,Transcode(,s@camera,h263@qcif/fps=10/kb=52/qmin=4/qmax=12/gs=50) exten =&gt; 5004,n,Hangup()&lt;/p&gt; &lt;p&gt; [camera] exten =&gt; s,1,Answer() exten =&gt; s,n,Rtsp(http://192.168.1.2/live.sdp) exten =&gt; s,n,Hangup()
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt; Installation de l'outils pcm2mp4 &lt;/strong&gt;&lt;/p&gt; &lt;pre&gt; cd /usr/src/asterisk-video/tools make cp mp4band pcm2mp4 /usr/bin/
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; Configuration de misdn.conf &lt;/h3&gt;
&lt;p&gt;Voici le fichier de configuration misdn.conf, situ&#233; dans /etc/asterisk que j'utilise.&lt;/p&gt; &lt;pre&gt; [general] misdn_init=/etc/misdn-init.conf debug=0 ntdebugflags=0 ntdebugfile=/var/log/misdn-nt.log ntkeepcalls=no bridging=no l1watcher_timeout=0 stop_tone_after_first_digit=yes append_digits2exten=yes dynamic_crypt=no crypt_prefix=** crypt_keys=test,muh
&lt;p&gt; [default] context=from-misdn language=fr musicclass=default senddtmf=yes far_alerting=no allowed_bearers=all nationalprefix=0 internationalprefix=00 rxgain=0 txgain=0 te_choose_channel=no pmp_l1_check=no reject_cause=16 need_more_infos=no nttimeout=no method=standard overlapdial=yes dialplan=0 localdialplan=0 cpndialplan=0 early_bconnect=yes incoming_early_audio=yes nodialtone=no presentation=-1 screen=-1 echocancel=no echotraining=no jitterbuffer=4000 jitterbuffer_upper_threshold=0 hdlc=yes max_incoming=-1 max_outgoing=-1&lt;/p&gt; &lt;p&gt; [extern] ports=1,2 msns=*
&lt;/p&gt;
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; Dialplan Asterisk &lt;/h3&gt;
&lt;p&gt;Faut pouvez maintenant cr&#233;er un appel depuis l'ext&#233;rieur vers votre Asterisk comme cale par exemplen en &#233;ditant votre fichier extensions.conf dans /etc/asterisk.&lt;/p&gt; &lt;pre&gt; [default]
&lt;p&gt; exten =&gt; 5002,1,H324m_gw(sylvain@3gp_videos)&lt;/p&gt; &lt;p&gt; exten =&gt; 5003,1,Answer() exten =&gt; 5003,n,Rtsp(rtsp ://192.168.1.1/live.sdp) exten =&gt; 5003,n,Hangup()&lt;/p&gt; &lt;p&gt; exten =&gt; 5004,1,Answer() exten =&gt; 5004,n,Transcode(,s@camera,h263@qcif/fps=10/kb=52/qmin=4/qmax=12/gs=50) exten =&gt; 5004,n,Hangup()&lt;/p&gt; &lt;p&gt; [camera]&lt;/p&gt; &lt;p&gt; exten =&gt; s,1,Answer() exten =&gt; s,n,Rtsp(http://192.168.1.2/live.sdp) exten =&gt; s,n,Hangup()&lt;/p&gt; &lt;p&gt; [3gp_videos]&lt;/p&gt; &lt;p&gt; exten =&gt; sylvain,1,H324m_gw_answer() exten =&gt; sylvain,n,Video_loopback()&lt;/p&gt; &lt;p&gt; [from-misdn]&lt;/p&gt; &lt;p&gt; exten =&gt; 9965,1,Goto(default,5002,1)
&lt;/p&gt;
&lt;/pre&gt;
&lt;h3 class=&quot;spip&quot;&gt; Mini tutoriel MP4 &lt;/h3&gt;
&lt;p&gt;Voici le tutoriel propos&#233; par Sergio Garc&#237;a sur son site web mais en Fran&#231;ais. (R&#233;f&#233;rence : &lt;a href='http://sip.fontventa.com/content/view/34/66/' class='spip_out' rel='nofollow'&gt;http://sip.fontventa.com/content/vi...&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;Nous allons juste installer une d&#233;pendance requise pour ce tutoriel.&lt;/p&gt; &lt;pre&gt; aptitude install ffmpeg
&lt;/pre&gt;
&lt;p&gt;Le fichier est t&#233;l&#233;chargeable ici : &lt;a href='http://sip.fontventa.com/files/sample_300kbit_ulaw.3gp' class='spip_out' rel='nofollow'&gt;http://sip.fontventa.com/files/samp...&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Avant de pouvoir utiliser un fichier mp4 avec app_rtsp et le streamer depuis un serveur avec un t&#233;l&#233;phone vid&#233;o, il doit &#234;tre encoder avec un format que support le t&#233;l&#233;phone.&lt;/p&gt; &lt;p&gt;Beaucoup de serveurs de streaming support les fichiers de type mp4/3gp. Le format h263-1998 reste cependant le meilleur choix pour encoder une vid&#233;o et il existe beaucoup d'outils pour l'&#233;diter/modifier. Le probl&#232;me est que les codecs audio utilis&#233; sur un t&#233;l&#233;phone vid&#233;o (gsm/speech/g723/g729) ne sont pas sp&#233;cialement utilis&#233; pour faire du streaming contrairement &#224; AAC/MP3.&lt;/p&gt; &lt;p&gt;Le format de fichier mp4 permet de stocker n'importe quelle type de donn&#233;e, mais pas beaucoup d'outils sont capable de nous permettre de faire cela.&lt;/p&gt; &lt;p&gt;L'outils pcm2mp4 permet de cr&#233;er un fichier mp4 avec une piste audio PCMU (ulaw). Il peux &#234;tre utilis&#233; pour faire des tests de streaming. D'autres codecs pourrait &#234;tre facilement int&#233;gr&#233;)&lt;/p&gt; &lt;p&gt;Nous allons utiliser un fichier de sample converti en h263 pour ce mini tutoriel.&lt;/p&gt; &lt;pre&gt; $ mp4info sample_300kbit.3gp mp4info version 1.5.0.1 sample_300kbit.3gp : Track Type Info 201 video H.263, 69.973 secs, 94 kbps, 176x144 @ 10.003859 fps 65335 hint Payload H263-2000 for track 201 101 audio MPEG-4 AAC LC, 70.000 secs, 8 kbps, 12000 Hz 65435 hint Payload MP4A-LATM for track 101 1 od Object Descriptors 2 scene BIFS
&lt;/pre&gt;
&lt;p&gt;D'abord nous allons extraire les deux m&#233;dias de notre fichier.&lt;/p&gt; &lt;pre&gt; $ mp4creator -extract=201 sample_300kbit.3gp $ mv sample_300kbit.3gp.t201 sample_300kbit.263 $ mp4creator -extract=101 sample_300kbit.3gp $ mv sample_300kbit.3gp.t101 sample_300kbit.aac
&lt;/pre&gt;
&lt;p&gt;Puis nous allons convertir l'audio AAC en fichier PCMU.&lt;/p&gt; &lt;pre&gt; $ ffmpeg -i sample_300kbit.aac -acodec pcm_mulaw -ar 8000 -ac 1 -f mulaw sample_300kbit.mulaw FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2006 Fabrice Bellard, et al. configuration : &#8212;prefix=/usr &#8212;libdir=$&lt;i&gt;prefix&lt;/i&gt;/lib &#8212;shlibdir=$&lt;i&gt;prefix&lt;/i&gt;/lib &#8212;incdir=$&lt;i&gt;prefix&lt;/i&gt;/include/ffmpeg &#8212;enable-shared &#8212;enable-mp3lame &#8212;enable-gpl &#8212;enable-faad &#8212;mandir=$&lt;i&gt;prefix&lt;/i&gt;/share/man &#8212;enable-vorbis &#8212;enable-pthreads &#8212;enable-faac &#8212;enable-xvid &#8212;enable-dts &#8212;enable-amr_nb &#8212;enable-amr_wb &#8212;enable-pp &#8212;enable-libogg &#8212;enable-libgsm &#8212;enable-x264 &#8212;enable-a52 &#8212;extra-cflags=-Wall -g -fPIC -DPIC &#8212;cc=ccache cc libavutil version : 49.1.0 libavcodec version : 51.28.0 libavformat version : 51.7.0 built on Jan 19 2007 17:05:58, gcc : 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) Input #0, aac, from 'sample_300kbit.aac' : Duration : 00:01:09.4, start : 0.000000, bitrate : 8 kb/s Stream #0.0 : Audio : aac, 12000 Hz, mono, 8 kb/s Output #0, mulaw, to 'sample_300kbit.mulaw' : Stream #0.0 : Audio : pcm_mulaw, 8000 Hz, mono, 64 kb/s Stream mapping : Stream #0.0 -&gt; #0.0 Press [q] to stop encoding size= 2184kB time=70.0 bitrate= 64.0kbits/s video:0kB audio:2184kB global headers:0kB muxing overhead 0.000000%
&lt;/pre&gt;
&lt;p&gt;Nous allons maintenant utiliser l'outil pour cr&#233;er un nouveau fichier mp4 avec notre fichier audio converti en PCMU.&lt;/p&gt; &lt;pre&gt; $ /usr/bin/pcm2mp4 sample_300kbit.mulaw sample_300kbit_ulaw.3gp $ mp4info sample_300kbit_ulaw.3gp mp4info version 1.5.0.1 sample_300kbit_ulaw.3gp : Track Type Info 1 audio G.711 uLaw, 70.000 secs, 64 kbps, 8000 Hz 2 hint Payload PCMU for track 1
&lt;/pre&gt;
&lt;p&gt;Ensuite nous allons juste rajouter la parti video h263 dedans.&lt;/p&gt; &lt;pre&gt; $ mp4creator -create=sample_300kbit.263 sample_300kbit_ulaw.3gp $ mp4info sample_300kbit_ulaw.3gp mp4info version 1.5.0.1 sample_300kbit_ulaw.3gp : Track Type Info 1 audio G.711 uLaw, 70.000 secs, 64 kbps, 8000 Hz 2 hint Payload PCMU for track 1 3 video H.263, 69.903 secs, 94 kbps, 176x144 @ 10.013876 fps
&lt;p&gt; $ mp4creator -hint=3 sample_300kbit_ulaw.3gp $ mp4info sample_300kbit_ulaw.3gp mp4info version 1.5.0.1 sample_300kbit_ulaw.3gp : Track Type Info 1 audio G.711 uLaw, 70.000 secs, 64 kbps, 8000 Hz 2 hint Payload PCMU for track 1 3 video H.263, 70 secs, 94 kbps, 176x144 @ 10.013876 fps 4 hint Payload H263-2000 for track 3 Metadata Tool : mp4creator 1.5.0.1
&lt;/p&gt;
&lt;/pre&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Cr&#233;ation du site asterisk-party.net</title>
		<link>http://www.proformatique.org/spip.php?article115</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article115</guid>
		<dc:date>2007-10-23T14:39:24Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Asterisk devient un projet de plus en plus cons&#233;quent, avec de plus en plus de monde int&#233;ress&#233; par le sujet et aussi avec de plus en plus d'informations. Pour cela il nous a semblait important de pouvoir cr&#233;er un &#233;change autour de ce projet en permettant aux personnes ne connaissant pas le sujet de pouvoir rencontrer des personnes de fa&#231;on gratuite afin d'&#233;changer. Le site asterisk-party.net est un wiki qui permettra de conna&#238;tre les diff&#233;rents rendez-vous gratuit autour (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique29" rel="directory"&gt;Divers&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Asterisk devient un projet de plus en plus cons&#233;quent, avec de plus en plus de monde int&#233;ress&#233; par le sujet et aussi avec de plus en plus d'informations. Pour cela il nous a semblait important de pouvoir cr&#233;er un &#233;change autour de ce projet en permettant aux personnes ne connaissant pas le sujet de pouvoir rencontrer des personnes de fa&#231;on gratuite afin d'&#233;changer.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Le site &lt;a href='http://www.asterisk-party.net/' class='spip_out'&gt;asterisk-party.net&lt;/a&gt; est un wiki qui permettra de conna&#238;tre les diff&#233;rents rendez-vous gratuit autour d'Asterisk en France mais &#233;galement pour les autres pays qui souhaiteront participer afin de cr&#233;er un &#233;change sur Asterisk dans le monde entier.&lt;/p&gt; &lt;p&gt;Nous avons d&#233;j&#224; organis&#233; plusieurs &#233;v&#233;nement autour d'Asterisk et nous souhaitons continuer &#224; le faire. Si d'autres personnes souhaitent nous aider &#224; avancer sur le sujet, et aussi organiser des &#233;v&#233;nements, utilisait le wiki pour vous annoncer, et n'h&#233;sitez pas &#224; nous contacter.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Configuration de DUNDI avec Asterisk</title>
		<link>http://www.proformatique.org/spip.php?article114</link>
		<guid isPermaLink="true">http://www.proformatique.org/spip.php?article114</guid>
		<dc:date>2007-10-20T10:33:26Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sylvain Boily</dc:creator>



		<description>Ce document vous permettra de configurer correctement le protocole DUNDI pour Asterisk avec comme exemple 3 machines qui seront toutes les trois avec un Asterisk. Les versions utilis&#233;es d'Asterisk sur chaque machine est 1.2.24. Mais normalement cela devrait valable pour une version 1.4. DUNDI est un protocol d&#233;velopp&#233; par Mark Spencer permettant d'avoir un annuaire type e164 mais en mode peer to peer contrairement &#224; ce que nous pouvons avoir comme solution de type ENUM qui est (...)

-
&lt;a href="http://www.proformatique.org/spip.php?rubrique30" rel="directory"&gt;Asterisk&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Ce document vous permettra de configurer correctement le protocole DUNDI pour Asterisk avec comme exemple 3 machines qui seront toutes les trois avec un Asterisk. Les versions utilis&#233;es d'Asterisk sur chaque machine est 1.2.24. Mais normalement cela devrait valable pour une version 1.4.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;DUNDI est un protocol d&#233;velopp&#233; par Mark Spencer permettant d'avoir un annuaire type e164 mais en mode peer to peer contrairement &#224; ce que nous pouvons avoir comme solution de type ENUM qui est centralis&#233;. Pour avoir plus d'informations sur DUNDI, il existe le site web &lt;a href='http://www.dundi.com/' class='spip_out'&gt;http://www.dundi.com&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;La configuration du protocole DUNDI se fera par le fichier de configuration dundi.conf situ&#233; dans le r&#233;pertoire /etc/asterisk. Auparavant vous devrez v&#233;rifier quelques petits pr&#233;-requis. Avoir un jeu de cl&#233; RSA produit, avoir le module pbx_dundi.so de charger. Si cela n'est pas le cas vous pourrez le configurer dans le fichier modules.conf situ&#233; dans /etc/asterisk. Vous pourrez &#233;galement le charger en lan&#231;ant un load pbx_dundi.so depuis la CLI d'Asterisk.&lt;/p&gt; &lt;p&gt;Pour faire votre jeu de cl&#233; RSA vous devrait lancer le binaire astgenkey depuis une console bash par exemple.&lt;/p&gt; &lt;pre&gt;
$ astgenkey
&lt;/pre&gt;
&lt;p&gt;Puis vous devrez alors mettre un nom pour votre cl&#233; puis un password que vous r&#233;p&#233;t&#233;rez deux fois. Vous aurez alors deux fichiers de g&#233;nr&#233;e. Par exemple si nous avions appel&#233; notre fichier proformatique, nous aurions alors un fichier proformatique.key qui contient notre cl&#233; priv&#233; et proformatique.pub qui contiendra notre cl&#233; publique, celle que nous distruberons &#224; nos amis DUNDI. Une fois que nous aurons ces cl&#233;s g&#233;n&#233;r&#233;es, nous les copierons dans le r&#233;pertoire de cl&#233;s RSA d'Asterisk.&lt;/p&gt; &lt;pre&gt;
$ cp proformatique.key proformatique.pub /var/lib/asterisk/keys
&lt;/pre&gt;
&lt;p&gt;Puis nous rechargerons Asterisk pour qu'il prenne en compte nos nouvelles cl&#233;s.&lt;/p&gt; &lt;pre&gt;
$ asterisk -r
CLI&gt; reload res_crypto.so
CLI&gt; reload pbx_dundi.so
&lt;/pre&gt;
&lt;p&gt;Nos cl&#233;s initialis&#233;es nous devrons alors initialiser le password de notre cl&#233; priv&#233;, celui que nous avons mis un peu avant.&lt;/p&gt; &lt;pre&gt;
$ asterisk -r
CLI&gt; init keys
CLI&gt; show keys
&lt;/pre&gt;
&lt;p&gt;Nous verons alors notre cl&#233; publique proformatique et priv&#233;.&lt;/p&gt; &lt;p&gt;Maintenant nous allons pouvoir configurer notre fichier de configuration dundi.conf. Dans notre exemple nous allons consid&#233;rer que nous deux ami DUNDI. Pour cela ils devront nous donner leur cl&#233; publique.&lt;/p&gt; &lt;pre&gt;
$ cp ami_dundi_1.pub ami_dundi_2.pub /var/lib/asterisk/keys/
$ asterisk -r
CLI&gt; reload
CLI&gt; show keys
&lt;/pre&gt;
&lt;p&gt;Configuration de dundi.conf :&lt;/p&gt; &lt;pre&gt;
[general]
bind=0.0.0.0
port=4520
&lt;p&gt;cachetime=5
ttl=32
autokill=yes&lt;/p&gt; &lt;p&gt;entityid=00:0C:29:0C:AB:C2 ; En g&#233;n&#233;ral nous mettons la mac addresse de notre machine&lt;/p&gt; &lt;p&gt;[mappings]
dundi_proformatique =&gt; dundi,0,IAX2,dundi:dundi_password@&lt;mon_adresse_ip&gt;/$&lt;i&gt;NUMBER&lt;/i&gt;,nounsolicited,nocomunsolicit,nopartial&lt;/p&gt; &lt;p&gt;[00:05:46:34:FG:98] ; entityid de notre ami DUNDI (g&#233;n&#233;ralement sa mac addresse)
model = symmetric
host = 192.168.0.2
inkey = ami_dundi_1
outkey = proformatique
include = dundi_proformatique
permit = dundi_proformatique
qualify = yes
dynamic=yes&lt;/p&gt; &lt;p&gt;[00:0F:CF:A0:DF:34] ; autre ami DUNDI
model = symmetric
host = 10.10.1.1
inkey = ami_dundi_2
outkey = proformatique
include = dundi_proformatique
permit = dundi_proformatique
qualify = yes
dynamic=yes
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Une fois notre fichier de configuration pr&#234;t nous avons la partie DUNDI qui est bien configur&#233;e.&lt;/p&gt; &lt;p&gt;Nous avons d&#233;cid&#233; de faire communiqu&#233; nos ami DUNDI &#224; travers le protocol IAX2, et nous avons donc fait un mappings dundi_proformatique sur le protocole IAX2 avec l'utilisateur dundi et le password dundi_password. Nous avons aussi mapp&#233; dundi_proformatique sur le context dundi. Cela veut dire que nous allons devoir cr&#233;er un utilisateur IAX et un context avec notre routage t&#233;l&#233;phone. Le fichier iax.conf qui se situe dans /etc/asterisk sera pour la partie utilisateur IAX et le fichier extensions.conf sera pour la partie routage t&#233;l&#233;phonique.&lt;/p&gt; &lt;p&gt;Edition du fichier iax.conf :&lt;/p&gt; &lt;pre&gt;
&lt;snip&gt;
&lt;p&gt;[dundi]
type=user
secret=dundi_password
context=dundi
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Edition du fichier extensions.conf :&lt;/p&gt; &lt;pre&gt;
&lt;snip&gt;
&lt;p&gt;[dundi]&lt;/p&gt; &lt;p&gt;exten =&gt; 1001,1,Dial(SIP/sylvain,20)
exten =&gt; 1001,n,Hangup()
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Les commandes nous permettant de savoir ce qu'il se passe seront :&lt;/p&gt; &lt;pre&gt;
$ asterisk -r
CLI&gt; dundi show peers
CLI&gt; dundi debug
CLI&gt; dundi flush cache
CLI&gt; dundi lookup 1001@dundi_proformatique
&lt;/pre&gt;
&lt;p&gt;Maintenant que nous avons la possibilit&#233; d'avoir du DUNDI, il serai int&#233;ressant lors d'un appel de pouvoir aller chercher chez nos ami DUNDI s'ils connaissent ou non l'extensions demand&#233;es. Pour cela nous allons modifier notre fichier extensions.conf et rajouter la fonction DUNDILOOKUP(). La fonction DUNDILOOKUP vous permet d'aller int&#233;roger vos amis afin de savoir s'ils connaissent l'extensions. L'avantage c'est que si votre ami ne le connais pas mais qu'un autre de ces amis le connait, il pourra vous donner l'information et la gardera alors en cache pour la redonner &#224; une autre requ&#232;te si besoin.&lt;/p&gt; &lt;p&gt;Edition du fichier extensions.conf :&lt;/p&gt; &lt;pre&gt;
&lt;snip&gt;
&lt;p&gt;[local-extensions]&lt;/p&gt; &lt;p&gt;exten =&gt; _6XXX,1,Set(DUNDI_CALL=$&lt;i&gt;DUNDILOOKUP($&lt;i&gt;EXTEN&lt;/i&gt;,dundi_profor,b))
exten =&gt; _6XXX,n,Dial($&lt;i&gt;DUNDI_CALL&lt;/i&gt;)
&lt;/p&gt;
&lt;/pre&gt;
&lt;p&gt;Il existe une possibilit&#233; d'utiliser le switch du dialplan ce qui nous permettra alors de faire :&lt;/p&gt; &lt;pre&gt;
switch =&gt; DUNDI/dundi_proformatique
&lt;/pre&gt;
&lt;p&gt;Ce document a &#233;t&#233; &#233;crit par Sylvain Boily (proformatique). Si vous souhaitez avoir plus d'informations, n'h&#233;sitez pas &#224; me contacter par email : sboily@proformatique.com. Toute correction ou commentaires sur ce document sont les bienvenues :-).&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Version 1 (12/10/2007)&lt;/strong&gt;&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Version intiale du document (merci le TGV ;-))&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ce document est sous licence FDL, c'est &#224; dire qu'il peut-&#234;tre repris, modifi&#233; et redistribu&#233;. Pour plus d'informations sur les licences libre faite un tour sur le site de la fondation free software ;-).&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
