Personal tools

Difference between revisions of "Smartcall cu Yate"

From linux360

Jump to: navigation, search
(Added initial content)
 
(Configurarea suportului pentru protocolul H.323 (<tt>h323chan.conf</tt>))
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
==Obtinerea lui Yate==
 
==Obtinerea lui Yate==
 +
 +
Yate poate fi descarcat de [http://yate.null.ro/pmwiki/index.php?n=Main.Download aici], dar de obicei se recomanda folosirea celei mai recente versiuni aflate in dezvoltare. Aceasta poate fi descarcata din depozitul CVS al [http://www.null.ro/ Null Team] dupa cum urmeaza:
 +
<code><sh/>mkdir yate-CVS
 +
cd yate-CVS
 +
cvs -d :pserver:anonymous@voip.null.ro:/home/cvsroot/private login
 +
# [ENTER] atunci cand suntem intrebati de parola
 +
cvs -d :pserver:anonymous@voip.null.ro:/home/cvsroot/private -z3 checkout yate</code>
 +
 +
In cazul in care am optat pentru arhiva tar.gz, va trebui sa o dezarhivam:
 +
<code><sh/>mkdir yate-CVS
 +
cd yate-CVS
 +
tar zxf $locatie_arhiva_tar_gz</code>
 +
 +
==Compilarea lui Yate==
 +
 +
Avand in vedere ca urmeaza sa compilam un program, presupunem ca avem mediul de dezvoltare pregatit anterior (compilator, link editor, biblioteci, fisiere header si tot ceea ce mai este necesar compilarii programelor pe distributia D-voastre).
 +
 +
In cazul in care am luat versiunea de dezvoltare, este necesara mai intai createa scripturilor pentru GNU Autotools cu comanda:
 +
<code><sh/>./autogen.sh</code>
 +
 +
Sursele lui Yate se configureaza cu o comanda de forma:
 +
<code><sh/>./configure --enable-shared --enable-sctp --enable-ilbc</code>
 +
 +
Dupa ce scriptul de configurare isi incheie (cu succes) executia, procedam la compilare cu comanda:
 +
<code><sh/>make</code>
 +
 +
Daca procesul de compilare s-a incheiat cu succes, Yate este gata de executie. Daca nu, atunci trebuie corectate manual eventualele erori aparute.
 +
 +
===Probleme de compilare cunoscute===
 +
* In cazul particular al distributiilor RedHat/CentOS/Fedora recente, apare o problema la compilare in fisierul <tt>engine/Socket.cpp</tt>, la linia '''849'''. Rezolvarea consta in inlocuirea urmatoare:
 +
<code><cpp/>-    buffer.associd = assoc;
 +
+    buffer.associd = (void *) assoc;</code>
 +
 +
==Configurarea lui Yate==
 +
 +
In directorul <tt>conf.d/</tt> se afla fisierele de configurare pe care le vom trata in ordine alfabetica. Pentru configurare, se copiaza fisierul exemplu (sufix <tt>.conf.sample</tt>) in loc, eliminandu-i ultimul sufix (rezulta sufix <tt>.conf</tt>) si se editeaza acesta din urma.
 +
 +
===Definirea contului de iesire (<tt>accfile.conf</tt>)===
 +
 +
Se adauga in <tt>conf.d/accfile.conf</tt> o sectiune de forma urmatoare:
 +
<code><sh/>[$numar_de_telefon_alocat_fara_zero_initial]
 +
enabled=yes
 +
protocol=sip
 +
username=$numar_de_telefon_alocat_fara_zero_initial
 +
description=SmartCall Outgoing SIP Gateway
 +
formats=g729,gsm,mulaw,alaw
 +
password=$parola_smartcall
 +
number=$numar_de_telefon_alocat_fara_prefix
 +
domain=smartcall.ro
 +
registrar=sip.smartcall.ro
 +
outbound=sip.smartcall.ro
 +
localaddress=$adresa_mea_IP:7951</code>
 +
 +
===Definirea fisierului jurnal pentru apeluri (<tt>cdrfile.conf</tt>)===
 +
 +
Se editeaza in sectiunea <tt>[general]</tt> din fisierul <tt>conf.d/cdrfile.conf</tt> valoarea cheii <tt>file</tt> spre a contine calea completa catre fisierul jurnal pe care dorim sa-l folosim.
 +
<code>[general]
 +
file=/var/log/yate-cdr.log</code>
 +
 +
===Configurarea suportului pentru protocolul H.323 (<tt>h323chan.conf</tt>)===
 +
 +
Se editeaza fisierul <tt>conf.d/h323chan.conf</tt> pentru a aduce optiunile date mai jos la o forma asemanatoare cu urmatoarea:
 +
<code>[general]
 +
needmedia=yes
 +
external_rtp=yes
 +
fallback_rtp=yes
 +
 +
[codecs]
 +
default=enable
 +
 +
[ep]
 +
ep = true
 +
gw = true
 +
port=1721
 +
alias = yate
 +
ident = yate
 +
h245tunneling=true
 +
h245insetup=true
 +
gkclient = false
 +
 +
[gk]
 +
server = true
 +
interface1=$adresa_mea_IP
 +
port = 1719
 +
name = YateGatekeeper</code>
 +
 +
===Configurarea sistemului de rutare a apelurilor (<tt>regexroute.conf</tt>)===
 +
 +
Se adauga in fisierul <tt>conf.d/regexroute.conf</tt> doua rute -- una pentru apelurile care pleaca din Yate si alta pentru cele care vin. Un posibil exemplu ar putea fi:
 +
<code>[default]
 +
^0\(.*\)$=sip/sip:\1@sip.smartcall.ro; line=$numar_de_telefon_alocat_fara_zero_initial; caller=$numar_de_telefon_alocat_fara_zero_initial; callername=$numar_de_telefon_alocat_fara_zero_initial
 +
^$numar_de_telefon_alocat_fara_zero_initial$=h323/$userul_meu@localhost</code>
  
 
[[Category:HowTo]]
 
[[Category:HowTo]]
 
[[Category:Pending]]
 
[[Category:Pending]]

Latest revision as of 16:19, 6 November 2006

In acest articol voi descrie pas cu pas configurarea unei instante de Yate pentru a putea fi folosita de un utilizator casnic ce a achizitionat un serviciu de numerotatie telefonica de la unul dintre operatorii de acest gen din tara (in cazul prezentului ghid, vom folosi pe Smartcall).

Obtinerea lui Yate

Yate poate fi descarcat de aici, dar de obicei se recomanda folosirea celei mai recente versiuni aflate in dezvoltare. Aceasta poate fi descarcata din depozitul CVS al Null Team dupa cum urmeaza: <sh/>mkdir yate-CVS cd yate-CVS cvs -d :pserver:anonymous@voip.null.ro:/home/cvsroot/private login

  1. [ENTER] atunci cand suntem intrebati de parola

cvs -d :pserver:anonymous@voip.null.ro:/home/cvsroot/private -z3 checkout yate

In cazul in care am optat pentru arhiva tar.gz, va trebui sa o dezarhivam: <sh/>mkdir yate-CVS cd yate-CVS tar zxf $locatie_arhiva_tar_gz

Compilarea lui Yate

Avand in vedere ca urmeaza sa compilam un program, presupunem ca avem mediul de dezvoltare pregatit anterior (compilator, link editor, biblioteci, fisiere header si tot ceea ce mai este necesar compilarii programelor pe distributia D-voastre).

In cazul in care am luat versiunea de dezvoltare, este necesara mai intai createa scripturilor pentru GNU Autotools cu comanda: <sh/>./autogen.sh

Sursele lui Yate se configureaza cu o comanda de forma: <sh/>./configure --enable-shared --enable-sctp --enable-ilbc

Dupa ce scriptul de configurare isi incheie (cu succes) executia, procedam la compilare cu comanda: <sh/>make

Daca procesul de compilare s-a incheiat cu succes, Yate este gata de executie. Daca nu, atunci trebuie corectate manual eventualele erori aparute.

Probleme de compilare cunoscute

  • In cazul particular al distributiilor RedHat/CentOS/Fedora recente, apare o problema la compilare in fisierul engine/Socket.cpp, la linia 849. Rezolvarea consta in inlocuirea urmatoare:

<cpp/>- buffer.associd = assoc; + buffer.associd = (void *) assoc;

Configurarea lui Yate

In directorul conf.d/ se afla fisierele de configurare pe care le vom trata in ordine alfabetica. Pentru configurare, se copiaza fisierul exemplu (sufix .conf.sample) in loc, eliminandu-i ultimul sufix (rezulta sufix .conf) si se editeaza acesta din urma.

Definirea contului de iesire (accfile.conf)

Se adauga in conf.d/accfile.conf o sectiune de forma urmatoare: <sh/>[$numar_de_telefon_alocat_fara_zero_initial] enabled=yes protocol=sip username=$numar_de_telefon_alocat_fara_zero_initial description=SmartCall Outgoing SIP Gateway formats=g729,gsm,mulaw,alaw password=$parola_smartcall number=$numar_de_telefon_alocat_fara_prefix domain=smartcall.ro registrar=sip.smartcall.ro outbound=sip.smartcall.ro localaddress=$adresa_mea_IP:7951

Definirea fisierului jurnal pentru apeluri (cdrfile.conf)

Se editeaza in sectiunea [general] din fisierul conf.d/cdrfile.conf valoarea cheii file spre a contine calea completa catre fisierul jurnal pe care dorim sa-l folosim. [general] file=/var/log/yate-cdr.log

Configurarea suportului pentru protocolul H.323 (h323chan.conf)

Se editeaza fisierul conf.d/h323chan.conf pentru a aduce optiunile date mai jos la o forma asemanatoare cu urmatoarea: [general] needmedia=yes external_rtp=yes fallback_rtp=yes

[codecs] default=enable

[ep] ep = true gw = true port=1721 alias = yate ident = yate h245tunneling=true h245insetup=true gkclient = false

[gk] server = true interface1=$adresa_mea_IP port = 1719 name = YateGatekeeper

Configurarea sistemului de rutare a apelurilor (regexroute.conf)

Se adauga in fisierul conf.d/regexroute.conf doua rute -- una pentru apelurile care pleaca din Yate si alta pentru cele care vin. Un posibil exemplu ar putea fi: [default] ^0\(.*\)$=sip/sip:\1@sip.smartcall.ro; line=$numar_de_telefon_alocat_fara_zero_initial; caller=$numar_de_telefon_alocat_fara_zero_initial; callername=$numar_de_telefon_alocat_fara_zero_initial ^$numar_de_telefon_alocat_fara_zero_initial$=h323/$userul_meu@localhost