Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unaguaparacrearunainfraestructuradevoz
enregionesendesarrollo
Autores:
AlbertoEscuderoPascual
LouiseBerthilson
VoIPparaeldesarrollo
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
TabladeAbreviaturas
Abreviatura Descripcin
ATA AdaptadorTelefnicoAnalgico
DECT ComunicacinDigitalInalmbricaMejorada
DigitalEnhancedCordlessTelecommunications
FXO ForeignExchangeOffice
FXS ForeignExchangeStation
GSM SistemaGlobalparaComunicacionesMviles
GlobalSystemforMobilecommunication
IAX(2) ProtocolodeIntercambiodeAsterisk(versin2)
IETF GrupodeTrabajodeIngenieradelaInternet
InternetEngineeringTaskForce
ITU/UIT UninInternacionaldeTelecomunicaciones
InternationalTelecommunicationsUnion
IVR RespuestadeVozInteractivaRespuestaVocalInteractiva
InteractiveVoiceResponse
NAT TraductordeDireccionesdeRed
NetworkAddressTranslator
PBX(PABX) CentralitaTelefnica(Automtica)Privada
Private(Automatic)BranchExchange
PCM/MIC ModulacinporImpulsosCodificados
PulseCodeModulation
PSTN/RTB(C) ReddeTelefonaBsica(Conmutada)
PublicSwitchedTelephoneNetwork
QoS CalidaddeServicio
QualityofService
RFC DocumentodeTrabajodeEstandarizacin(Internet)
RequestForComment
RTP ProtocolodeTiempoReal
RealtimeTransportProtocol
SCCP ProtocolodeControldeLlamadasSkinny
SkinnyCallControlProtocol
SIP ProtocolodeSealizacindeSesin(es)
SessionInitiationProtocol
SS7 SistemadeSealizacin(versin)7
SignallingSystem7
TA/ATA AdaptadorTelefnico
TelephoneAdapter
UDP UserDataProtocol
VoIP VozsobreIP.TelefonaIP
VSAT TerminaldePequeaApertura(ComunicacionesporSatlite)
VerySmallApertureTerminal
VoIPparaeldesarrollo
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
Descripcindelasilustraciones
VoIPparaeldesarrollo
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
Tabla de Contenidos
1.Introduccin.....................................................................................................................................................1
2.Lapocinmgica.............................................................................................................................................2
2.1VoIP............................................................................................................................................................2
2.2EstndaresAbiertosyCdigoLibre...........................................................................................................3
2.3Asterisk.......................................................................................................................................................5
3.Lareceta..........................................................................................................................................................5
3.1PBX............................................................................................................................................................5
3.2PSTNRTB...............................................................................................................................................6
3.3Sealizacinentelefonatradicional...........................................................................................................7
3.3.1Sealizacinanalgica..........................................................................................................................7
3.3.2Sealizacinentrecentralestelefnicas................................................................................................8
3.4SealizacinentelefonaIP........................................................................................................................8
3.4.1SessionInitiationProtocol(SIP)..........................................................................................................8
3.4.2ServidoresProxy..................................................................................................................................9
3.4.3ProtocolosentiemporealyelNAT...................................................................................................9
3.4.4InterAsteriskeXchange(IAX)...........................................................................................................10
3.5EquipamientoparaVoIP..........................................................................................................................11
3.5.1TelfonosVoIP...................................................................................................................................11
3.5.2TelefonaconSoftwareSoftPhones...............................................................................................11
3.5.3TarjetasdeinterfazalaRTB.............................................................................................................11
3.5.4AdaptadorparaTelfonosAnalgicos(ATA).....................................................................................12
3.6Codecs.......................................................................................................................................................13
3.7CalidaddeServicio...................................................................................................................................13
3.7.1Latencia..............................................................................................................................................13
3.7.2JitterFluctuacionesdevelocidad....................................................................................................14
4.PuestaenprcticaCreandotupropiaPBX................................................................................................15
4.1Quesloquenecesito?...........................................................................................................................15
4.1.1Consejosdeinstalacin.......................................................................................................................15
5.InstalandoAsterisk.........................................................................................................................................16
5.1CompilandoAsterisk.................................................................................................................................17
5.2DescargandoAsterisk................................................................................................................................18
5.3rdenesBsicasenAsterisk.....................................................................................................................18
5.4Ficherosdeconfiguracin..........................................................................................................................19
5.5Peers,UsersyFriends...............................................................................................................................20
6.ESCENARIOA
Redtelefnicaprivadaenunacomunidadrural..............................................................................................22
6.1Antecedentes.............................................................................................................................................22
6.2ConfigurandolosclientesVoIP.................................................................................................................22
6.2.1BibliotecaComunitaria.......................................................................................................................22
6.2.2HospitalRegional...............................................................................................................................23
6.2.3EscuelaPrimaria................................................................................................................................24
6.2.4Asociacindeagricultores..................................................................................................................25
6.3ConfigurandoAsterisk.............................................................................................................................27
7.ESCENARIOB
ConectandolaRTB.........................................................................................................................................29
7.1IncluirelsoporteparalatarjetaTDM400P.............................................................................................29
7.1.1GestindellamadasentrantesdesdelaRTB.....................................................................................31
7.1.2GestindellamadassalientesporlaRTB..........................................................................................31
7.2AadiendounterminalanalgicoalaPBX.............................................................................................32
7.3Actualizacindelplandemarcado...........................................................................................................33
8.ESCENARIOC
ConectandocomunidadesusandoVoIP.........................................................................................................34
VoIPparaeldesarrollo
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
8.1Problemasmscomunesenenlacesvasatlite......................................................................................34
8.2InterconectandodosservidoresconAsterisk............................................................................................35
8.2.1Telecentro..........................................................................................................................................35
8.2.2Centrodecapacitacin.......................................................................................................................36
8.2.3Lafuncinderegistro.........................................................................................................................36
9.Paraaprenderms.........................................................................................................................................37
10.Conclusin....................................................................................................................................................37
11.Agradecimientos...........................................................................................................................................37
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
1.Introduccin
1.Introduccin
Nofuehastalaprimaveradelao2004cuandodescubrunprogramalibre*queeracapazde
hacerexactamenteloquenecesitaba.PoraqueltiempovivaenTanzaniaytuvequesufrir,no
slo que la lnea telefnica era inestable, sino que, adems, las tarifas telefnicas eran
totalmentedesorbitantes.TanprontocomoconseguunaccesoalaInternetempecausaruna
deesasaplicaciones,tanpropietariacomoconocida,parahacermisllamadasaEuropa.Pronto
me di cuenta que el programa no me daba la flexibilidad que yo quera porque lo que
realmentenecesitabaerapoderhacerllamadasatravsdemilnea telefnicaenSueciay
poderofreceresaconexindevozamisvecinos.
LaideadeusarlaInternetcomosifueraunaredtelefnicanoeranueva,peroelproyectoque
medabatodaesaflexibilidadera,desdeluego,revolucionario.Elprogramaquepermitaque
micomputadoraseconvirtieraenunacentralitatelefnicasellamabaAsterisk.1Nonecesit
demasiadotiempoparadescubrirqueAsteriskeracapazdehacermuchomsdeloquenunca
me pude imaginar. Mientras lo exploraba me daba cuenta del mundo de posibilidades y
oportunidadesqueofreca,especialmenteenlasregionesendesarrollo.Lasensacindeaquel
momentoeramuyparecidaalademiprimeraconexinalaWorldWideWeben1994.
SinningngnerodedudasaprenderaponerenmarchaunsistemaconAsteriskfueunatarea
que requirigran perseverancia (s,algunos me llaman obcecado).Empec a escribirestas
lneasdeintroduccinalavozIPporque,aunqueyaexistenalgunoslibrosmuybuenossobre
eltema,noheencontradoundocumentoquedescribalosconceptosmsbsicosenpalabras
quelamayoradelosmortalespuedanentender.Estaguapretendedescribirtelosconceptos
esencialesdelatelefonasobreIPydarteunosejemplosconcretosdesupotencialidad en
regionesendesarrollo.Comoelretoalescribirestedocumentoeracrearundocumentobreve
sinpecardesimplismo,unagranpartedelesfuerzo hasidointentarserlomspedaggico
posible.
Tenpaciencia.Lapersistenciaeslaclavedelaprendizajedeunautodidacta.
Antesdedescribircmopuedescreartupropiosistemadetelefona,introducimosloconceptos
bsicosdetelefonasobreInternet(Secciones2y3).Dedcaletiempoaleerestasdossecciones
alargoplazo,entenderlosconceptosesmuchomsimportantequeinstalarunprogramau
otro.
Lasdossiguientesseccionesestndedicadasaaquellosquequieranponerlateoraenprctica:
montartupropiacentralita(Seccin4)einstalandoyconfigurandolosprogramas(Seccin5).
En lugar de listar todas las rdenes y configuraciones posibles, hemos seleccionado tres
escenariosprcticoscomoejemplosilustrativos.Recuerdaqueelobjetivodeestedocumentoes
ayudarteentusprimerospasos.Lostresescenariosquehemoselegidoson:
Telefonaprivadaenunacomunidadrural(Seccin6)
ConectandounaredlocaltelefnicaalaRTB(Seccin7)
1. AsteriskesunproyectodecdigolibrebasadoenlasideasdelProyectodeTelefonaZapata
http://www.asteriskdocs.org/modules/tinycontent/index.php?id=10
1
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
1.Introduccin
Interconectandodoscomunidadesremotas(Seccin8)
Paraterminarhemosincluidoalgunasreferenciastilesaalgunosrecursosqueteayudarna
aprenderms(Seccin9).
2.Lapocinmgica
Tres son loselementos que tepermitirndesplegaruna infraestructurade telefona: VoIP,
estndaresabiertosylosprogramaslibresyabiertos.
2.1VoIP
UnadefinicingeneraldeVozsobreIP(tambinconocidacomotelefonaIP)eslaposibilidad
detransportarconversacionestelefnicasenpaquetesIP.CuandohablamosdeVoIP, nos
referimosalatelefonaenInternetenelsentidomsampliodelaexpresin.EltrminoVoIP
noserefiereaningunodelosmecanismosconcretosqueexistenparallevarlassealesdevoz
deunsitioaotroenlared.Existendocenasdetecnologasquepermitenhablarporlared.
LasalternativastecnolgicasdeVoIPsepuedendividirdeunamanerasencillaendosgrandes
grupos:tecnologascerradaspropietariasysistemasabiertos.Enelprimergrupodetecnologas
nos encontramos con el conocido Skype o el ya legendario Cisco Skinny (SCCP).2 En el
segundogrupodetecnologasnosencontramosconlosestndaresabiertosbasadosenSIP,3
H.3234oIAX.5
H.323esunprotocolodesarrolladoporlaUITquecobrciertafamaporqueeraelmsusado
porlosgrandesoperadoresensusredestroncales.SIPhaincrementadosupopularidadcuando
lastecnologasdeVoIPsehanhechomspresentesenelbuclelocal.6 ltimamentehemos
presenciadoelnacimientoyelfuertecrecimientodeunanuevaalternativaconocidacomoIAX.
IAX2(porserlaversin2)estfuertementeinfluidoporelmodelocomunitariodedesarrollo
abiertoytienelaventajadehaberaprendidodeloserroresdesuspredecesores.IAX2resuelve
muchosdelosproblemasylimitacionesdeH.323ySIP.AunqueIAX2noesunestndarenel
sentidomsoficialdelapalabra(RFC),7noslotieneelgranreconocimientodelacomunidad
sinotodoslosprerequisitosparaconvertirseenelremplazo(defacto)deSIP.
UnadelascaractersticasesencialesdetodoslosprotocolostradicionalesdevozsobreIPesel
derrochedeanchodebanda.Eseexcesodebitsenlaredesdebidoalanecesidaddeenviar
2. Skinnyesunprotocolodecontrolparaterminales.OriginalmentedesarrolladoporSelsiusCorporationyahora
bajoelcontrolydiseodeCiscoSystems,Inc.UnodelosclientesmsfamososdeSkinnyeslaserieCisco7900
detelfonosIP.
3. Elprotocolodeiniciodesesin(SIP)eselresultadodeltrabajodelIETFydefineelmanejodesesionesentre
unoomsparticipantes.
4. H.323esunconjuntoderecomendacionesdelaUITTquedefineungrupodeprotocolosparaofrecersesiones
audiovisualesenunaredconmutadadepaquetes.ElH.323seusaenelfamosoprogramaNetmeeting.
5. IAX2esunprotocolodecomunicacindevozIPqueseusaenAsterisk,unacentralitadecdigoabiertoylibre.
IAX2permiteconexionesentreservidoresAsteriskyclientesIAX2.
6. Elbuclederealocalesunenlacefsicoqueconectaalclienteconlaterminacindelareddetelefonadel
proveedordeserviciosdetelecomunicaciones.
7. ElRequestforComments(RFC)(encastellano:solicituddecomentarios)esunaseriededocumentosnumerados
einformalesquebuscanconstruirconsensosenfavordelaestandarizacindeprotocolosyserviciosparala
Internet.
2
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
2.Lapocinmgica
informacinadicionalencadaunadelascabecerasdelospaquetesIP.Esteproblematiene
especialimportanciaenregionesendesarrollodondeelaccesoaanchodebandaeslimitadoy
loscostesdeconexinaInternetpuedenllegaraserhasta100vecesmayorqueenEuropao
Norteamrica.8
Paraquetehagasunaideadelgastoadicionaldeanchodebandanecesarioparaenviarvoz
sobreInternetpodemoscitarcomoejemploqueunaudiocomprimidode5.6kbit/segnecesita
dehasta18kbit/seg.Ladiferenciaentrelos5.6ylos18kbit/segsonesosbitsenlascabeceras
de los paquetes. Las cabeceras son toda esa informacin adicional que es necesaria para
encaminarcorrectamentecadaunodelospaquetesdevozalreceptor.Unadelasventajasde
IAX2 es que ha sido capaz de reducir considerablemente ese exceso de bits por paquete.
Adems,escapazdeagruparlospaquetesdedistintasconversaciones,quevanenunamisma
direccin en la red, en uno slo. Al ser capaz de agregar mltiples paquetes de distintas
conversacionesdentrodeunoslo,elexcesodeinformacinintroducidoporlascabecerasse
reduceencadaunadelasconversaciones.
Comoresultadodelaspruebasrealizadasdurantelaelaboracindeestagua(usandouna
conexintelefnicaalared),evidenciamoslasventajasdeutilizarIAX2frentealamisma
conversacinusandoSIP.9
2.2EstndaresAbiertosyCdigoLibre
Nopodramosestarhablandodelalibertaddeconstruirnuestrapropiaredtelefnicasinla
existenciadelosestndaresabiertosyelcdigolibre.Losestndaresabiertospermitenque
cualquierapuedaimplementarunsistemacongarantasdeinteroperabilidad.Graciasaesa
interoperabilidad denuestro diseo noslo podemos crearnuestra red telefnicasino que,
adems,podemosconectarlaalaredtelefnicaglobal.Conelcdigolibrepodemosaprender
deexperienciasparecidas,integrarsussolucionesycompartirnuestrospropiosresultadoscon
losdems.
Unadelaprimeraspreguntasquemereceunarespuestaes:porqudeberascreartupropia
infraestructuradevozsobreIPynoseguirusandoserviciosgratuitoscomoSkype?
8. 1MbpsenelEstedefricacuestamsde1000USD/mesmientrasquelamismacapacidadenSueciacuesta
menosde10USD/mes.
9. UnaconversacindevozIPusandouncodeccomoelG.729(8Kbps)requiereunos30KbpsusandoSIPytan
slo24KbpsconIAX2.Siagregamoscincollamadassimultneascadallamadasereducea13Kbps.
3
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
2.Lapocinmgica
slounabuenasolucindesdeunpuntodevistapuramentetcnicosinoqueademspermite
laposibilidaddeadaptacinparamejorarsealarealidadlocal.
Paraserconscientesdelaimportanciadelosestndaresabiertosquizsseabuenoempezar
presentandounadefinicindeestndar.Unestndaresunconjuntodereglas,condicioneso
requerimientos que describen materiales, productos, sistemas, servicios o prcticas. En
telefona,losestndaresgarantizanquetodaslascentralesdetelefonaseancapacesdeoperar
entre s. Sin ese conjunto de reglas comunes un sistema de telefona de una regin sera
incapaz de intercambiar llamadas con otro que est, tan slo, unos kilmetros ms all.
Aunquemuchosdelosestndaresdetelefonasonpblicos,lossistemassiemprehanestado
bajoelcontroldeungrupomuylimitadodefabricantes.Losgrandesfabricantesdesistemas
detelefonasonlosnicoscapacesdenegociarcontratosanivelregionaloinclusonacional.
staeslaraznquepuedeexplicarporquesmuycomnencontrarsiempreelmismotipode
equiposalolargodeunmismopas.
Losequiposdetelefonatradicionales,adems,tienenlaparticularidaddehabersidodiseados
pararealizarunconjuntodetareasmuyconcretas.Normalmente,sonequiposinformticoscon
aplicacionesmuyespecficas.Aunquelasreglasquegobiernanlatelefona(losestndares)son
relativamente abiertas, no es el caso de los equipos informticos que los implementan. Al
contrariodelosestndares,elfuncionamientointernosiempresemantieneensecreto.
4
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
2.Lapocinmgica
2.3Asterisk
Asteriskesunaimplementacinlibredeunacentralitatelefnica.Elprogramapermitetanto
quelostelfonosconectadosalacentralitapuedanhacerllamadasentreelloscomoservirde
pasarelaalaredtelefnicatradicional.Elcdigodelprogramafueoriginalmentecreadopor
MarkSpencer(Digium)basadoenlasideasyeltrabajopreviodeJimDixon(proyectode
telefona Zapata). El programa, sus mejoras y correcciones, es el resultado del trabajo
colectivodelacomunidaddelsoftware(programas)libre.AunqueAsteriskpuedefuncionaren
muchossistemasoperativos,GNU/Linuxeslaplataformamsestableyenlaqueexisteun
mayorsoporte.
ParausarAsteriskslosenecesitaunordenadorpersonal(PC),perosiquieresconectarteala
redtelefnicatradicionaldebesaadirelcorrespondienteperifricodedicado.
3.Lareceta
EstaseccinresumelosconceptosprincipalesdeVoIP.Entendercadaunolosconceptosteva
a ser muy til cuando configures cualquier tipo de programa relacionado con telefona IP.
AunqueVoIPesunareaenormedeconocimiento,hemosseleccionadocuidadosamenteun
nmerodeconceptosesenciales.Estaseccinincluyeunadescripcin,bsicaperoslida,delo
quenecesitassaberparadartusprimerospasosenlacreacindeunsistemadetelefona.
3.1PBX
EltrminoPBXoPABXesunadeesassiglasquedicenbastantepoco.PBXsonlasprimeras
letrasdeltrminoinglsPrivate(Automatic)BranchExchange.Enpalabrassimples,eluso
ms comn de unaPBX es compartirde unaa varias lneastelefnicasconun grupo de
usuarios.UnaPBXseemplazaentrelaslneastelefnicasylostelfonos(terminalesdevoz).
LaPBXtienelapropiedaddesercapazderedirigirlasllamadasentrantesauno o varios
telfonos.Deunamanerasimilar,unaPBXpermiteauntelfonoescogerunadelas lneas
telefnicas para realizar una llamada telefnica al exterior. De la misma forma que un
enrutador(router)enInternetesresponsablededirigirlospaquetesdeunorigenasudestino,
unaPBXesresponsablededirigirllamadastelefnicas.
5
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
LapalabraprivateenlasiglaPBXsignificaqueeldueodelsistematienetodoelcontroly
decidecomocompartirloslneasexterioresconlosusuarios.
UnaPBXnoslopermitecompartirunconjuntodelneasconungrupodeusuariossinoque
tambin ofrece la posibilidad de crear servicios de valor aadido como transferencia de
llamadas,llamadasatres,10pasareladevozacorreo11oserviciosbasadosenunarespuestade
vozinteractiva(IVR)12,etc.
UnaPBXpuedeserdegranutilidadenmltiplesescenarios.Piensaenlasregionesdondeel
accesoalaredtelefnicaimplicacaminarvariashoras(sinodas)aunacabinaoTelecentro.
Adems,unasituacinmuycomnesquesloexistaunalneatelefnicaporedificioopor
poblacin. UnaPBX(tucentralita)permitircompartiresalneaeinclusoextenderlared
telefnicaalugaresremotos.
3.2PSTNRTB
PSTNeslaRedPblicaTelefnicaConmutada(PublicSwitchedTelephoneNetwork),lared
de redes telefnicas o ms conocida como la red telefnica. En castellano la PSTN es
conocidacomolaredpblicaconmutada(RTC)oredtelefnicabsica(RTB).Delamisma
formaqueInterneteslaredglobalIP,laRTBeslaamalgamadetodaslasredesconmutadas
detelfono.UnadiferenciamuyimportanteentrelaRTBeInterneteslanocindeflujode
informacin. En telefona los flujos de informacin son cada una de las llamadas o
conversacionesmientrasqueenInternetescadaunodelospaquetesdedatos.Desdeelpunto
de vista conceptual la RTB e Internet son muy diferentes y representan dos mundos y
filosofascasiantagnicas.SiunaconversacinseefectaenunaRTBsetienequereservarun
canal(circuito)dedicadode64Kbps,peroenInternetlamismaconversacinpuedecoexistir
conotrosserviciosdemanerasimultnea.Aunqueestadiferenciapuedaparecerirrelevantea
primeravista,tienegrandesimplicacionesdecaraalaimplementacindelastecnologasdela
informacin tantoen regionesdesarrolladascomoendesarrollo.Enelmodelotradicional,un
cable de cobre proporciona acceso a la RTB y ofrece un slo tipo de servicio: un canal
analgico.Siesemismocableseusaparaconectarseaunaredconmutadadepaquetescomo
Internet,sepuedeimplementarcualquiertipodeserviciobasadoenelprotocoloIP.
10. Llamadaatreseslaposibilidaddeteneramsdedospersonashablandosimultneamenteenlamisma
conversacin.
11. Unapasareladevozaemailpermitegrabarunmensajedevozenunadjuntodecorreoelectrnico(comosifuera
uncontestadorautomtico).Elmensajesegrabaenunficherodeaudioyseenvaaunacuentadecorreo.
12. Unsistemadevozinteractivo(InteractiveVoiceResponse)permiteseleccionarunaopcindeunmenatravs
delavozodeltecladodelterminal.
13. LaITUoUITencastellanoeslaUninInternacionaldeTelecomunicaciones,unaorganizacininternacional
responsabledeestandarizacin,gestindelradioespectroydelaorganizacindeacuerdosdeinterconexinentre
pasesquepermitanelintercambiodellamadasinternacionales.LaUITespartedelaONUytieneuna
estructurademiembrosformal.
14. ElIETF(InternetEngineeringTaskForce)esunconjuntodegruposdetrabajoresponsablesdeestandarizacin
deInternet.Laorganizacinesabierta,formadaporvoluntariosysinningnrequerimientoformalparaser
miembro.
6
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
telefnicosparaconmutarllamadasenlascentralestelefnicas,enInternetseusandirecciones
IPparaconmutarpaquetesentrelosenrutadores(routers).
3.3Sealizacinentelefonatradicional
LascentralestelefnicassonlosroutersdelaRTB.UnForeignExchangeOffice(FXO)es
cualquier dispositivo que, desde el punto de vista de la central telefnica, acta como un
telfonotradicional.UnFXOdebesercapazdeaceptarsealesdellamadaoring,ponerseen
estadodecolgadoodescolgado,yenviaryrecibirsealesdevoz.AsumequeunFXOescomo
untelfonoocualquierotrodispositivoquesuena(comounamquinadefaxounmdem).
UnForeignExchangeStation(FXS)esloqueestsituadoalotroladodeunalneatelefnica
tradicional(laestacin).UnFXSenvaeltonodemarcado,lasealdellamadaquehacesonar
lostelfonosylosalimenta.Enlneasanalgicas,unFXSalimenta alFXO.ElFXSutiliza
alrededor de 48 voltios DC para alimentar al telfono durante la conversacin y hasta 80
voltiosAC(20Hz)cuandogeneraeltonodellamada(ring).
Una PBX que integra perifricos FXO y FXS puede conectarse a la RTB y incorporar
telfonosanalgicos.Laslneastelefnicasquevienendeloperadorsetienenqueconectara
unainterfazFXO.LostelfonossedebenconectaralasinterfacesFXSdelacentralita.
Enresumen,dosreglasfcilesquedebesrecordarson:
1. UnFXSnecesitaestarconectadoaunFXO(comounalneatelefnicanecesitaestar
conectadaauntelfono)oviceversa.
2. UnFXSsuministraenerga(elementoactivo)auntelfonoFXO(elementopasivo)
Imagen1:a)UntelfonoanalgicoesundispositivoFXOconectadoaunalneatelefnica
(RTB)actuandocomoFXSb)UnaPBXpuedeincorporartantointerfacesFXScomoFXO.
c)UnadaptadortelefnicooATAactacomounFXS.
3.3.1Sealizacinanalgica
Cadavezqueusasunalneatelefnicaseintercambianunconjuntodeseales.Lasseales
sirvenparaofrecerinformacindelestadodelallamadaalusuario.Algunasdeesasseales
soneltonodemarcadooeltonodelneaocupada.EstassealessetransmitenentreelFXSy
elFXOhaciendousodeunprotocoloconocidocomosealizacin.
7
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
Por desgracia, existen muchas maneras de generar este tipo de seales. Cada uno de los
mecanismos es conocido como mtodo de sealizacin. Los mtodos de sealizacin son
diferentesdeunlugaraotro,asquedebesconocerdeantemanoelmtododesealizacinque
seusaentuslneastelefnicas.Dosdelosmtodosdesealizacinmsconocidossonelloop
start y el ground start. Si desconoces el mtodo de sealizacin que debes usar puedes
empezarprobandoconloopstart.UnaconsecuenciadeconfigurartuPBXconunmtodode
sealizacinequivocadoesquelalneatelefnicasecuelgademanerainesperada.
3.3.2Sealizacinentrecentralestelefnicas
SS7esungrupodeestndaresdesarrolladosoriginalmenteporlaAT&TylaUITque,entre
otrascosas,seencargandelagestindelestablecimientodellamadasysuencaminamiento
entrecentralestelefnicasenlaRTB.Unacosamuyimportantequedebesentenderesqueen
la red telefnica tradicional, la voz y las seales auxiliares (sealizacin) estn claramente
separadas.Estosignificaqueexisteuncircuitodedicadoavozyotrocircuitoindependiente
para el intercambio de las seales encargadas del establecimiento de las llamadas. Esta
informacinadicionalnecesariaencadallamadaseintercambiausandounprotocoloconocido
comoSS7.
Elhechodequelavozylasealizacinestnseparadassignificaquelosflujosdeinformacin
puedentomarcaminosfsicostotalmentediferentes.Imagnatequelasconversacionespueden
viajarporuncablemientrasquelosnmerosdetelfonodeloscomunicantesseenvanpor
otro.Esteconceptoesimportanteparaentenderlasiguienteseccin:sealizacinentelefona
IP.
3.4SealizacinentelefonaIP
Porherenciahistrica,lasealizacinenvozsobreIPsigueunosprincipiosmuyparecidosala
sealizacinenRTB.Lassealesylasconversacionesestnclaramentediferenciadas.Enesta
seccinintroducimosdosprotocolosdeVoIPquevamosaintegrarennuestrafuturaPBX:SIP
eIAX2.
3.4.1SessionInitiationProtocol(SIP)
Elprotocolodesealizacindeiniciodesesin,delinglsSessionInitiationProtocol(SIP),es
unaespecificacinparaInternetparaofrecerunafuncionalidadsimilaralSS7peroenunared
IP.ElprotocoloSIP,desarrolladoporelIETF,esresponsabledeestablecerlasllamadasydel
resto de funciones de sealizacin. Recuerda que, cuando hablamos de sealizacin en el
contextodellamadasdevoz,estamoshablandodelaindicacindelneaocupada,lostonosde
llamadaoquealguienhacontestadoalotroladodelalnea.
SIPhacetrescosasimportantes:
1. Encargarsedelaautentificacin.
8
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
2. Negociarlacalidad15deunallamadatelefnica.
3. IntercambiarlasdireccionesIPypuertosquesevanutilizarparaenviaryrecibirlas
conversacionesdevoz.
3.4.2ServidoresProxy
Aunque dos dispositivos SIP (telfonos IP) pueden comunicarse directamente, SIP
normalmentehaceuso dealgunoselementosadicionalesllamadosproxies parafacilitarel
establecimientodelasllamadas.Unproxyoperacomounrepresentante(apoderado)quese
encargadenegociarentredospartes.Conlaayudadeunproxypuedesmoverfsicamentetu
nmerodetelfonoenInternet.Losnmerosnoestnasociadosaunsitioconcretosinoquese
puedenmoversiempreycuandonotifiquemosalproxydenuestra(nueva)ubicacin.Como
elproxyfuncionacomounintermediarioescapazdeindicaralaspartesdndeseencuentran
lostelfonos.EsteservidorintermedioenSIPaprendelaposicindesususuariosduranteun
procesoqueseconocecomoregistro.
Imagen2:Elprocesoderegistroentreclientesyelservidorproxy.Lasealizacin(SIP)y
lasconversacionesdevoz(RTP)viajanporcaminosdiferentes.
3.4.3ProtocolosentiemporealyelNAT
EnInternet,lasconversacionesqueusansealizacindetipoSIPresultanenflujoconstante
depaquetesdepequeotamaoentreloscomunicantes.Estospaquetesdevozhacenusode
otroprotocolollamadoRTP.ElprotocolodetransportedetiemporealoRealtimeTransport
Protocol(RTP)eselencargadodellevarlasconversaciones(lavoz)deunladoaotro.Enel
RTPsedefineunmecanismoestndarparaenviaraudioyvdeoenInternet. Delamisma
formaqueenunaconversacinexistendosflujosdevoz,enunaconversacinenunaredIP
tenemosdosflujosdepaquetesRTP.
LosNetworkAddressTranslators(NATs)sonlosgrandesenemigosdelRTP.Unaredconun
NATconsisteenvariosordenadorescompartiendo,conelmundoexterior,una sladireccin
IPpblica.LasmquinassituadasdentrodelaredNATusandireccionesprivadas.Aunque
15. UnadelasgrandesdiferenciasentrelatelefonatradicionalylaIPesquelacalidaddeserviciodeuna
conversacinsepuedenegociar.
9
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
elNATpermiteconectarmsfcilmenteordenadoresalared,lohacealpreciodenopermitir
unaconexinpuramentebidireccional.ElefectodeunNATenvozsobreIPesquenose
puedenrecibirconexionesiniciadasdesdeelexterior.
Pordesgracia,lasdireccionesIPprivadasylosNATestnespecialmentepresentesentodos
loslugaresdelasregionesendesarrollo.ConfigurarunaredconsealizacinSIPyNATsnoes
trivial.Estaguaincluyealgunosconsejosgeneralesenlaseccinquedescribelosescenarios
prcticos.
3.4.4InterAsteriskeXchange(IAX)
LasegundaversindelprotocolodecomunicacinentreAsterisks(InterAsteriskeXchange)se
conocecomoIAX2.16 IAX2 esunaalternativa alprotocolo desealizacinSIP. IAX2fue
creadocomopartedeldesarrollodelaPBXAsterisk.AdiferenciadelSIP,queusadosflujos
dedatosparavozyotrosdosparasealizacin,IAX2usaslounpardeflujosdondevozy
datoscoexisten.Esta formadeenviartantolasconversaciones comolasealizacinporel
mismocanalseconocecomoinband,encontrasteconelmtodoqueusaSIP,eloutofband17.
Debidoasudiseo,IAX2eslaopcinmsadecuadaenregionesendesarrollodondeexisten
granpresenciadeNATs.Adems,IAX2escapazdeempaquetarllamadassimultneasenun
sloflujodepaquetesIP.Estemecanismoesconocidocomotrunkingysuimplementacin
resultaenahorrosenelconsumodeanchodebanda.
Elconceptodetrunkingsepuedeexplicarconlasiguientemetfora:imagnatequenecesitas
mandarcincocartasagentequeviveenotropas.Unaposibilidadesusarunsobreporcada
unadelascartas;laotraesusarunnicosobreeincluirelnombredeldestinatariofinalenla
cabeceradecadaunadelascartas.LaagregacindellamadasentelefonaIPfuncionadela
mismaformaypermiteenviarmltiplescartas(llamadas)enunnicosobre(paqueteIP).
Enresumen,eldiseodeIAX2esmsadecuadopararegionesendesarrolloportresrazones:
1. Reduceelusodeanchodebandaporllamada.
2. EstdiseadoparaoperarenpresenciadeNATs(soportenativo)yesmsfcilde
usardetrsdeloscortafuegos.
16. IAX2esunprotocolodetelefonaIPqueutilizaunreducidonmerodebitsenlascabecerasyqueestdiseado
parapermitirlacomunicacinentrecentralitasyclientesAsterisk.Elcontenidodevozenlospaquetesseenva
usandounacabeceradetansolo4octetos(32bits).Unacabeceramscomplejade12octetosseutilizaconlos
paquetesdecontrolyenalgunospaquetesespecialesdevoz(unoporminutoaproximadamente).
17. Laideadeenviarlasealizacindentrodelcanaldevoz(inband)obligaasepararlospaquetesdevozdelos
paquetesdesealizacin.Aunqueestediseorequieremsgastodeprocesamiento(CPU)ofrecemejores
propiedadesenpresenciadecortafuegosyNATs.
10
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
3. Reduceanmselanchodebandacuandoserealizanvariasllamadassimultneas
(comoresultadodeltrunking)
3.5EquipamientoparaVoIP
3.5.1TelfonosVoIP
UntelfonodeVoIPotelfonoIPesunequipoespecialmentediseadoparaconectarseauna
reddetelefonaIP.LostelfonosIPpuedenimplementarunoovariosprotocolosdevozsobre
IP.18
AlgunasdelascaractersticasquedebestenerencuentacuandocompresuntelfonoIPson:
Anchodebandareducido:inclusindecodecsdealtacompresin(e.g.G.729,gsm,
speex).
Buenainterfazdeadministracin:inclusindeinterfazweb.
Salidadeaudio:inclusindesalidaexternadeaudioysoportedemanoslibres(para
educacinadistancia).
Existenmuchosmodelosenrangodepreciosde100120USDquehacenmuchomsdeloque
vasanecesitaryfuncionanperfectamenteconAsterisk.19
3.5.2TelefonaconSoftwareSoftPhones
Unaalternativaalusodeequiposdedicados(fsicos)deVoIPeselusodeprogramaspara
emularlos.Estosprogramasseconocencomosoftphonesyfuncionanencualquierordenador
personal. Elnicorequerimientoesteneruna tarjetadesonidoenfuncionamientoy estar
segurodequeelcortafuegosinstaladoentumquinanoestbloqueandoalaaplicacin.20
Siquieresreducirelanchodebandausadoportusconversacioneseligeunsoftphoneque
tengasoporteparaelprotocoloIAX2yactivauncodecdealtacompresin.
3.5.3TarjetasdeinterfazalaRTB
SiquieresencaminarlasllamadasdetusterminalesdeVoIPalaredtelefnicatradicional
(RTB)necesitasunperifricoespecializadoenlaPBX.UnasolucinmodularparaAsterisk,
quepermiteconectarlneasytelfonosanalgicos,esunatarjetaPCIfabricadaporDigium:
TDM400Pwildcard(lapalabrainglesawildcardsignificacomodn).
18. EnSeptiembredel2006yaexistenvariascompaasquehanfabricadotelfonosIPconsoporteIAX2.
19. ComopartedeestaguahemosevaluadodemanerapositivalossiguientesmodelosconAsterisk:SwissVoice
IP10S(150USD),ThomsonST2030(100USD),GulfstreamBudgetome(75USD)yelCisco7940(300USD).
20. Lossiguientestelfonossoftphoneshansidoevaluadoscomopartedeestegua:IAXClient(IAX2),XLite(SIP)
11
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
Imagen3:UntarjetaTDM400Pconsuscuatropuertos.Losdosprimerospuertos(Puerto1:
FXO,Puerto2:FXS)estnocupadosmientrasquelosdosltimospuertos(Puerto3y4)
estninactivos.
Latarjeta,conocidacomoTDMwildcardosimplementeTDM,tienecuatropuertosyse
llamawildcardporquepermiteinsertarunmximodecuatroexpansiones.Lasexpansiones
sonmdulosdeunidadesFXOoFXS.Desdeelpuntodevistaprcticoestosignificaqueala
TDMselepuedenconectarhastacuatrolneastelefnicas(4mdulosFXO),odoslneas
entrantes(2FXO)ydostelfonosanalgicos(2FXSmodules),etc.
3.5.4AdaptadorparaTelfonosAnalgicos(ATA)
Unadaptadorparatelfonosanalgicos(ATA)oenbreve,adaptadortelefnico(TA)conecta
untelfonoordinarioaunareddeVoIP.UnATAtieneunconectorRJ11(elconectorde
telfono) yunRJ45(el conectorderedoEthernet). UnATA funcionacomo sifueraun
adaptador FXS,porunladohablaconeltelfonoanalgicoy porelotrooperaenmodo
digitalconlareddevozIP.Siquieresimplementarunaredenunareginendesarrollonoes
unamalaopcinutilizarATAsenlugardetelfonosIP.LosATAssuelensermsbaratosyal
sermspequeossuelensermsfcilesdenacionalizarenlasaduanas.Otradelasventajas
deusarunATAsesquepuedesconectarcualquiertipodeaparatotelefnicoalaredIP,por
12
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
ejemplo,sepuedenconectarunacabinatelefnica(demonedasotarjeta),unfaxountelfono
inalmbrico(DECT)21.
UnadelasopcionestipoATAqueusaelprotocoloIAX2eselmdelos101ideDigium.Este
ATAtambinseleconoceconelnombredeIAXy22.
3.6Codecs
Unalgoritmocompresor/decompresor(codec)esunconjuntodetransformacionesutilizadas
paradigitalizarlavoz.Loscodecsconviertentantolavozendatos(bits)comolosdatosen
voz. Uncodectomaunasealanalgicaylaconvierteenunasealdigitalenunformato
binario(0sy1s).Existenmuchasformasdedigitalizaraudioycadaunadeesasformasresulta
enuntipodecodec.Engeneralpuedesasumirqueamayorcompresinvasaobtenermayor
distorsin (peorcalidad).Uncodecseconsideramejorqueotrocuandoescapazdeofrecer
mejorcalidaddevozusandolamismacantidaddeanchodebanda.
UncircuitodelaRTB(eltelfonodesiempre)usauncodecconocidocomoModulacinpor
ImpulsosCodificados(MIC)delinglsPulseCodeModulation(PCM).ElMICesuncodecde
altacalidadquenecesita64kbps.DosestndaresdecompresinMICsonelmicrolaw(ulaw)
yelalaw.AestosestndaresselesconocetambincomoG711uyG711arespectivamente.El
microlawseusanormalmenteenNorteamricayelalawen Europa.Lafamiliadecodecs
G711no requieren degranprocesamientoyporesoestndisponiblesenlamayora (sino
todos)losequiposdevozIP.
Enpasesendesarrollo,elusodelG.711noesviableporquerequieredemasiadoanchode
banda.Debesconsiderarotrotipodecodecsquehaganunusomsefectivodellosrecursos
disponiblesenlared.
UnasbuenasopcionesdecodecslibresyqueusanpocoanchodebandasonelcodecdeGSM
yelSpeex.ElG.729esuncodecpropietarioaltamenterobustoperorequieredeunalicencia
parasuusocomercial.23
3.7CalidaddeServicio
LacalidaddeserviciooQualityofService(QoS)eslacapacidaddelaredparaofrecermejoras
enelserviciodeciertotipodetrficodered.UnodelosgrandesretosalimplementarVoIP,
especialmenteenregionesendesarrollo,esgarantizarqueexistaunanchodebandaconstante
paralasconversaciones.Paraofrecerunabuenacalidadenlaconversacin,elanchodebanda
quenecesitanlosdosflujosdetrficosedebegarantizarconindependenciadelestadodelresto
delasconexiones(inclusosilaconexinaInternetestaltamenteocupada).Cuandodisees
21. Lossiguientesadaptadorestelefnicos(ATA)hansidoevaluadoscomopartedeestagua:SipuraSPA3000,
GlobelTexIAD
22. ElIAXyesunaATAdereducidotamaoconsoporteIAX2.ElATAnosoportacodecsdealtacompresin.
23. G.729esuncodecde8kbps(aprox.30KbpsporconversacinusandoSIP).Elcodecfuedesarrolladoporun
consorciodeorganizaciones:FranceTelecom,MitsubishiElectricCorporation,NipponTelegraphandTelephone
Corporation(NTT)ylaUniversidaddeSherbrooke.Elpreciodelcodecesde10USD.Ver
http://www.digium.com/en/products/voice/g729codec.php
13
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
unareddevozIPdebesintentaroptimizarelanchodebanda,controlarlasfluctuacionesdela
red(jitter),yminimizarlalatencia.24
3.7.1Latencia
Latenciaessinnimoderetraso,ymideeltiempoquetardaunpaqueteenviajardeunpunto
aotro.ParamejorarlacalidaddelasconversacionesdevozsobreIPesnecesarioreducirlos
retrasosalmximo,dandolamximaprioridadaltrficodevoz.Darmsprioridadalos
paquetesdevozsignificaqueselesdejasaltarselacoladesalidayasocupar unamejor
posicinqueelrestodelospaquetesqueestnesperandoparasertransmitidos.
Silacomunicacinrequiereelusodeunenlaceporsatlitevasatenerquecontarcon,al
menos, una latencia de 300 ms (0.3 segundos). Para poder reducir el retraso tienes que
implementar buenas polticas de calidad de servicio en los enrutadores (routers) y
conmutadores(switches)porlosqueatraviesatutrficodevoz.Aunqueunaconversacines
tcnicamenteposiblesiexistendosomsenlacesdesatliteentreloscomunicantes,tienesque
estarpreparadoparaesperasdelordendeunsegundo.Unaregladeoroparaminimizarla
latenciaescolocartucentralita(PBX)enelsegmentomenoscongestionadoosaturadodela
red.
3.7.2JitterFluctuacionesdevelocidad
En VoIP, el jitter es la variacin del tiempo entre la llegada de distintos paquetes. Estas
variaciones son debidas a la saturacin de la red, la falta de sincronismo o los cambios
dinmicosenlasrutas.Enredescongrandescambiosdevelocidadsepuedeusarunjitter
bufferparamejorarlacalidaddelaconversacin.Unbufferesunespaciointermediodondese
almacenanlospaqueteshastasuprocesamiento.Laideabsicadeljitterbufferesretrasar
deliberadamente la reproduccin del sonido para garantizar que los paquetes ms lentos
hayan llegado. Los paquetes se almacenan en el buffer, se reordenan si es necesario y se
reproducenaunavelocidadconstante.Lacalidaddevozmejoraalpreciodeincrementarla
latenciatotal.
MuchosequiposdeVoIPtedejanajustareltamaodeljitterbuffer.Elbuffereseserea
dondelospaquetessealmacenanparaluegoserenviadosalprocesadordevozenintervalos
constantes.Eltamaodelbuffersemideenmilisegundos.Sielbufferesde200mssignifica
queintroducimosunretraso(esperamos)esetiempoantesdereproducirlavoz.
Existendostiposdejitterbuffers:estticoydinmico.Unbufferestticoestimplementado
comopartedelequipoyconfiguradodemanerafijaporelfabricante.Eldinmicoseconfigura
usandounprogramaylopuedecambiarelusuario.Unvalorcomndeljitterbufferesde100
ms.Alincrementarelbuffervamosamejorarlacalidaddelaconversacinperonoolvidesque
lo que estshaciendoesincrementarelretardototal(latencia).Debesbuscarunvalorde
compromiso.Tenencuentaqueunretrasototalmuyporencimade300mshacemuydifcil
tenerunaconversacin.
24. DebesprestaratencinespecialaloscasosdondevayasausarVoIPenredesinalmbricas,comolasqueestn
basadasenIEEE802.11b/g/a.Enestasredestienesqueasegurartequelesdasprioridadaltrficodevoz.
14
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
3.Lareceta
PARTE2Manosalaobra
4.PuestaenprcticaCreandotupropiaPBX
4.1Quesloquenecesito?
Loprimeroquevasanecesitaresunordenadorpersonal.Cualquiermquinafabricadadespus
delao2000debetenersuficientepotenciaparahacerfuncionar Asterisk.Amedidaquetu
sistemacrece(especialmentesiusascodecsdealtacompresin)tendrsqueconsiderar un
buenprocesadorymemoria,peroparaempezarcualquiermquinaesbuena.Elordenador
debefuncionarconcualquierdistribucindelsistemaoperativoLinux.25
Lamaneramsbaratadeempezaresutilizarsoftphones.Elprimerejercicioesaprendera
configurar Asterisk parapoderestablecerunallamadaentredossoftphonesatravsdetu
PBX. Tus primeros ensayos los puedes hacer con dos ordenadores con tarjetas de sonido.
InstaladosclientesdeVoIPencadaunodelosordenadoresyusaunterceroparainstalary
configurarAsterisk.
EnelcasodequequierasusarequiposfsicosdevozIP(telfonosVoIPoATA),oconectarte
conlaRTBvasanecesitaralgunosdeloscomponentesdescritosenlaSeccin3.5.26
SiquieresconstruirunaPBXporttilydebajoconsumodeenergaconsultalassoluciones
basadasenplacabaseminiITX.Comopartedeestaguaconstruimosunacentralitausandoel
modeloEPIAM10000(tambinconocidacomoNehemiah).Laplacabasetienedosranuras
PCIdondepuedesconectarlatarjetamultiusoDigiumTDM400Pqueescompatibleconel
estndarPCI2.2.27
4.1.1Consejosdeinstalacin
staesunalistadeconsejosdeinstalacinsinecesitasinstalarunatarjetaPCITDM400P:
AsegratedequetumquinatieneunaranuraPCI2.2libre.
SivasausarunmduloFXSenlatarjetaTDM400Ptienesqueteneruncablede
alimentacinconunconectormolexlibre.28
Si vas a usar una placa base de tamao reducido como las miniITX vas a
necesitarunaraiserPCI.LatarjetaraisergiralaposicindelaTDM400P90
grados.Esnecesariogirarlatarjetaparaqueentredentrodelacaja.
25. SieresnuevoenelmundodeLinuxpuedespedirunCDdeladistribucinUbuntu.http://www.ubuntu.com
26. UnbuendistribuidordeequipamientodevozIPcondescuentosespecialesaorganizacionessinnimodelucroes
http://www.avanzada7.com
27. Uncentralitaporttiltepermitirdemostrarlatecnologayalmismotiempoteofrecelaposibilidadde
transportartupropiodemostradorcomoequipajedemano.
28. UnconectordeltipoMolexesunconectordealimentacinde4pindeusocomnenPCs.Loscablesamarillosy
rojosdanunatensinde+12Vy+5Vrespectivamente,elcablenegroestierra.
15
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
4.PuestaenprcticaCreandotupropiaPBX
NoconectesunalneatelefnicaaunpuertoFXS!AlconectarunpuertoFXS
conotroFXSsepuedequemarelmdulo.
5.InstalandoAsterisk
Asterisknoesslounprogramadegrantamaosinoque,adems,siguecreciendoalintegrar
ms funcionalidades cada da. Su diseo y arquitectura es tan potente como flexible. La
flexibilidad de Asterisk tambin implica cierta complejidad debido a las numerosas
posibilidades y opciones. El programa es una herramienta tan potente que puede hacer
probablemente todo lo que te puedes imaginar, pero los primeros pasos no son fciles.
AprenderaconfigurarAsteriskmerecuerdaaesaslargasnochesdehacediezaosdelantede
lapantallaintentandoconfigurarlasprimerasversionesdelservidorwebApacheoelSendmail.
Asterisk puedehacertantascosasqueturetovaaseraprenderahacerbientanslounas
pocas.
Lametodologaquehemostomadoenestaguanoesladelistartodaslosposiblesrdenes,
sinoladecitaralgunasduranteladescripcindetresescenariosprcticos.Losescenarioshan
sido elegidos para que te sirvan de referencia en tus propias instalaciones. Los ejemplos,
aunquebsicos,tepermitirnlacreacindesistemastelefnicosmuchomscomplejos.Hemos
decidido(intencionadamente)simplificarlasconfiguracionesalmximo.Somosconscientesde
quealgunosdelosejemplossepuedenresolverdeotrasmaneras,noolvidesqueereslibrede
experimentaryexplorartmismo.
16
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
5.InstalandoAsterisk
5.1CompilandoAsterisk
Comocualquierprogramalibre,existendosformasprincipalesdeinstalarlo.Elprimermtodo
consiste en descargar el cdigo fuente de la red y compilar tu propia versin binaria. El
segundomtodoconsisteendescargarunaversinyacompiladaenformadepaquete.
Sidecidescompilar Asterisk desdesucdigofuentelossiguientesconsejostepuedenserde
utilidad:
DescargaelcdigofuentedeAsteriskdehttp://www.asterisk.org29
Paraunaversinbsicanonecesitasbajartelospaquetesdeaddonsosounds.
ParapodercompilarAsteriskdesdeelcdigofuenteesnecesariotenerunentornode
compilacinentusistema.Asegratequetieneslossiguientespaquetesinstalados:
bison(ungeneradordeanalizadoressintcticos)
zlibyzlibdevel(bibliotecasdecompresindesarrollo)
ncursesyncursesdev(bibliotecasdeutilidadesdeconsoladesarrollo)
opensslyopenssldev(libssldev)(SSLbibliotecasdedesarrollo)
libc6dev(cabecerasybibliotecasdedesarrolloGNUC)
gccymake(elcompiladorCdegnuylautilidadmake)
LacompilacindeAsterisknoesdiferentedeotroprogramadecdigolibreenLinux:
Paracompilar:
# make
Parainstalar:
# make install
Parainstalarlosscriptsdearranque:
# make config
Parainstalarlosficherosdeconfiguracindeejemplo:
# make samples
Parainstalarladocumentacindedesarrollo:
# make progdocs
29. Aseptiembredel2006,laltimaversinestabledeAsteriskesla1.2.12.Laltimaversindelcontroladordela
familiadetarjetasZapataesla1.2.9.
30. Puedesconsultarlaversindelncleo/kerneldetumquinausandolaorden#unamea.Porejemplosiestas
usandounsistemaconUbuntuDapper(x386)tienesqueinstalarelsiguientepaquetedecabeceras:headers
linuxheaders2.6.1525386
17
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
5.InstalandoAsterisk
5.2DescargandoAsterisk
Tambin es posible descargar Asterisk ya compilado. El programa compilado (binario
ejecutable) se obtiene en la forma de paquete. Un paquete contiene todos los ficheros
necesarios para ejecutar un programa. Dependiendo de la distribucin de Linux que ests
usando existen paquetes en distintos formatos (rpm, deb o tgz). Si ests usando una
distribucinbasadaenDebian,puedesdescargareinstalar Asterisk usandolautilidad apt.
Ejecutalaordenaptgetinstallconlossiguientespaquetes:
Paquete Descripcin
Asteriskclassic(obligatorio) PBXencdigolibreversinoriginaldeDigium
Asteriskconfig(sugerido) ficherosdeconfiguracinparaAsterisk
Asteriskdev(opcional) ficherosdedesarrolloparaAsterisk
Asteriskdoc(sugerido) documentacinparaAsterisk
Asterisksoundsextra(opcional) ficherosadicionalesdesonidoparaAsterisk
Asterisksoundsmain(opcional) ficherosdesonidoparaAsterisk
Adadehoy,noexisteunaversinbinaria(compilada)delcontroladordelncleozaptel.No
tienesmsopcinqueseguirelmtododescritoenlaseccinanterior.Descargaelcdigo
fuentedelcontroladordelncleo(zaptelkerneldrive)ycreaelmduloconlautilidadmakey
makeinstall.Noolvidesqueantesdecompilarelcontroladornecesitastener instaladaslas
cabecerasdelncleo(kernel)deLinux.
Paquete Descripcin
zaptel(obligatorio) UtilidadesparaZaptel
zaptelsource(obligatorio) CdigofuentedelcontroladordelncleoZaptel
linuxheaders2.6.1525386 CabecerasdelncleodeLinuxparaUbuntuDapper
(dependetudistribucin) x386Kernel
5.3rdenesBsicasenAsterisk
Asterisk tienedoscomponentesinternos:unservidorquenormalmentefuncionaensegundo
planoyuncliente(CLI)quesupervisaelservidor.Tantoelservidorcomoelclienteseinvocan
usandolaordenAsteriskperoutilizandodistintosargumentos.
UnavezquetengasAsteriskinstalado,tienesqueaprenderalgunasrdenesbsicas:
Arrancar/PararAsteriskdesdeelarranque(runlevel)
#/etc/init.d/asterisk (start|stop)
ArrancarAsteriskdesdelalneaderdenes
# asterisk
Arrancarelservidorenmododedepuracin
# asterisk -vvvc
18
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
5.InstalandoAsterisk
Sielservidorestfuncionandoensegundoplanotepuedesconectarusandoelclienteconel
argumento(r).
# asterisk -r
CLIrdenesbsicas:
Recargalaconfiguracin
#CLI>reload
ActivaelmododedepuracinparaSIPoSIPoIAX2
#CLI> IAX2 debug
#CLI> SIP debug
DesactivaelmododedepuracinparaSIPoIAX2
#CLI> IAX2 no debug
#CLI> SIP no debug
Muestraelestadodeusuarios,peers31ycanalesparaSIPoIAX2
#CLI> sip show users
#CLI> sip show peers
#CLI> sip show channels
#CLI> iax2 show peers
#CLI> iax2 show users
#CLI> iax2 show channels
5.4Ficherosdeconfiguracin
ElnmerodeficherosdeconfiguracinquetienesquemodificarparahacerfuncionarAsterisk
dependedeltipodetecnologasVoIPquequierasusarentuinstalacinactualdemanera
simultnea. La lgica bsica para configurar Asterisk se puede resumir en los dos pasos
siguientes:
Paso1:DefineyConfiguraloscanalesdecomunicacin
Primero,tienesquedefiniryconfigurareltipodecanalesdecomunicacinquequieresusar.
Una manera muy fcil de entender lo que es un canal de comunicacin es imaginarse un
cable.LoscanalesentelefonaIPnosonloscablesfsicos,sinocableslgicos.ComoInternet
te permite tener muchas sesiones concurrentes en el mismo cable fsico, podemos definir
mltiplescanaleslgicosqueoperansimultneamenteenelmismomedio.
Paso2:Definereglasparatusextensiones(Crearunplandemarcado)
Elsegundopasoesdefinircmovanainteractuarcadaunodeloscanalesentres. Unavez
quehasdefinidouncanalgarantizasquelasconversacionespuedanentrarysalirdetuPBX
31. N.T.Eltrminopeersetraducealcastellanocomocompaero.EnelcasoconcretodeAsterisklostrminos
userandpeerseusanparaclasificarlostiposdeconexionesIPalsistema.
19
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
5.InstalandoAsterisk
pero adems tienes que definir cmo se encaminan cada una de esas conversaciones. Por
ejemplo,puedespreferirqueunallamadaentrantedesdelaRTBseenveautomticamentea
untelfonoIPo,puedesdefinirunaconexinentredostelfonosIPseparados20kmsatravs
deunaredinalmbrica.Todoesetipodeinteligenciaentreloscanalessedebecrearenun
fichero de configuracin conocido como extensions.conf. El fichero de extensiones contiene
todasesasreglasdegestindellamadasalasqueseconocecomoelplandemarcadoodial
plan.
Paraquetehagasunaideamsintuitivadeestetipodeconceptos,piensaenlossistemasde
telefonamsantiguos.Enesossistemas,existaunapersona(eloperador)queeraresponsable
de conectar fsicamente los cables telefnicos entre dos terminales. Para que una llamada
fluyera entre dos lneas de comunicacin (canales) se necesitaba contactar primero con el
operador (PBX) e informarle denuestrasintenciones. El fichero de extensiones ennuestra
PBXsuplantaelroldeloperadortradicional.
Ennuestrostresescenariosvamosausarcincoficherosdeconfiguracin:
FicherodeConfiguracin Descripcin
/etc/asterisk/extensions.conf Contieneelplandemarcado(dialplan).Interconecta
(siempreobligatorio) loscanales.
/etc/asterisk/sip.conf SeusaparaconfigurarcanalestipoSIP(telfonosSIP
yproveedoresSIP)
/etc/asterisk/iax.conf Se usa para configurar canales tipo IAX2 (telfonos
IAX2yproveedoresIAX2)
/etc/asterisk/zapata.conf Se usa para configurar las tarjetas de interfaz RTB
tipo Zapata. Asterisk usa la configuracin para
habilitarelcanal(es)delatarjetaenelarranque
/etc/zaptel.conf Configuracin de bajo nivel de la tarjeta zaptel.
Indicaquedispositivodeltipozaptelestamosusando.
LautilidadZaptelConfiguratortoolztcfgusaeste
ficherodeconfiguracinantesdearrancarAsterisk
5.5Peers,UsersyFriends
UnodelostemasmscomplicadosdeAsterisk(oalmenoslohasidoparamdurantemucho
tiempo)eseldelusodelaopcinpeer,useryfriendenlosficherosiax.confysip.conf.
20
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
5.InstalandoAsterisk
peers.32Unfriendesunaconexinquesepuedecomportartantocomouserocomopeer,
esdecirunaconexinsalienteoentrante.
Cuandonosllegaunaconexinentrantedeltipouserofriendtenemosquedecidirqu
hacerconlaconexin.Eltrminocontextoseusaparadefinirqureglasogrupodereglas
delplandemarcado(extensions.conf)sedebenaplicaraesallamadaconcreta.Elcontexto
deunallamadaentranteseencargadeasociarlaconunconjuntodereglaspresentesenelplan
demarcado.Elcontextorepresentaelpuntodeentradadelallamadaenelplandemarcado.
Elficheroextensions.confincluyetodoslosnmerosquesepuedenaccederdesdelaPBXen
distintassecciones(contextos).Cadaunodelosmltiplescanalesentrantesdefinidosencada
unodelosficherosdeconfiguracin(iax.conf,sip.conf,zapata.conf)seasocianaciertaseccin
(contexto)delplandemarcado.
32. Tienesquetenerencuentaunadelasexcepcionesaestaclasificacinquizssimplista.Cuandounodenuestros
peersactacomoproxydeotrosterminalesIP,lasllamadasentrantesdesdeesepeerseasocianalaseccin
peercorrespondiente(enlugardeusarunaseccintipouser).Estoesdebidoquecuandounpeeracta
comoproxy,nopuedeautentificarenfavordesusclientes.Elproxypuederedirigirlasllamadasatucentralita
peronopuedeautentificarsecomoelclientefinal.AsteriskutilizaladireccinIPdelpeerparaseleccionarla
seccinadecuadadelficherodeconfiguracin.Enresumen,unallamadasalientesiempreestipopeer,una
llamadaentrantepuedesertipouser,otipopeercuandolallamadaentranteprocededeunproxy.
21
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
5.InstalandoAsterisk
PARTE3ESCENARIOS
6.ESCENARIOA
Redtelefnicaprivadaenunacomunidadrural
6.1Antecedentes
EnnuestroprimerescenarioqueremosinstalarunaPBXenelTelecentrodeunacomunidad
ruralyofrecertelefonaIPacuatroorganizacionesdelosalrededores.Despusdecompletarla
instalacin, cada organizacin debe ser capaz de hacer llamadas telefnicas gratuitas33 al
Telecentroyatodoslossociosconectados.
Lasiguientetablaresumelainformacindecadaunadelascuatroorganizacionesylistalas
cuatro tecnologas diferentes que se pueden usar para conectarse a la centralita. Con el
objetivodepresentarunejemplolomsilustrativoposible,hemoselegidounagranvariedad
detecnologasdevozIP.Enunaimplantacinrealdebesconsiderarreducirelnmerode
tecnologasconelfindefacilitarelsoporteymantenimiento.
6.2ConfigurandolosclientesVoIP
AntesdedescribircomoconfigurarlaPBXempezamosconunadescripcindelainstalacin
decadaunodelosclientesdeVoIP.
6.2.1BibliotecaComunitaria
Elprimercliente estsituadoenlabibliotecapblicadelazona.Labibliotecaestsituada
alrededorde1kmdelTelecentro.EnestaorganizacinvamosainstalarunterminaldevozIP
33. Unavezquelainfraestructuradecomunicacionessehadesplegadopodemosestablecertarifasreducidasparalas
llamadasinternasquepermitancubrirloscostosdeampliacinymantenimiento.ElusodevozsobreIPnos
permitetrabajarenmodelosdedesarrollocomunitarioendondesepuedeconsiderarlasllamadasinternascomo
gratuitas.
22
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
consoporteparaelprotocoloSIP.ElterminalestconectadodirectamenteanuestraPBXa
travsdeunapasarelainalmbrica dedicada(enlacepuntoapuntoenmodotransparenteo
bridge).LadireccinIPdelterminalIP(192.168.46.2)estenelmismosegmentoderedque
nuestraPBX(192.168.46.1).Comoelenlaceinalmbricoestenmodotransparente,laPBXy
elterminalIPsecomunicandirectamenteynotenemosquepreocuparnosdelosproblemas
relacionadosconelNAT.
ParaconfigurarcualquiertipodeterminaldevozIPconsultaelmanualdelequipoybuscala
maneradeactivarlainterfazdeadministracinporWeb.34Unavezqueentresenlazonade
administracinbuscacmoconfigurarporWeblossiguientesparmetrosbsicos:
Parmetro Valor
DireccinIPdeltelfonoVoIP 192.168.46.2
DireccinIPdelaPBX(proxySIP) 192.168.46.1
Registrar/Register SI/YES
NombredeUsuario(User/Authname) 462
CallerID 462
Clave/Password 462pass
Codec G.711(ulaw)
6.2.2HospitalRegional
ElsegundoclientedenuestraredinternaesunATAsituadoenelhospital.Elhospitallocal
estsituadoalotroladodelacalle,enfrentedelTelecentro.LaconexinentreelTelecentroy
el hospital es un cable de par trenzado de 100 metros (ethernet Cat5). La manera de
configurarunATAnoesmuydiferentealadeconfiguraruntelfonoVoIP.Siguiendolos
mismospasosqueenelejemploanteriorvamosausarlainterfazdeadministracinweby
completarlossiguientesparmetros.
34. ExistentresmecanismosbsicosparaconfigurarladireccinIPdeuntelfono.Teclado:configurarladireccinIP
detelfonoatravsdeltecladodelterminal.DHCP:conectareltelfonoaunaredconDHCPyextraerla
direccindelainformacinofrecidaporelservidorDHCP.IPdefbrica:leerladocumentacinparaconocerla
direccinIPquevienepordefectoenelterminal.
23
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
Parmetro Valor
DireccinIPdelATA 192.168.46.3
DireccinIPdelaPBX(SIPproxy) 192.168.46.1
Registrar/Register SI/YES
NombredeUsuario(User/Authname) 463
CallerID 463
Clave/Password 463pass
Codec G.711(ulaw)
EnlugardeconectaralATAuntelfonotradicionaldecidimosusaruntelfonoinalmbricode
tecnologaDECT35.LaestacinbaseseconectaalpuertoRJ11delATA.Elresultadoesque
podemostenercobertura telefnicaDECTencualquierpartedelhospital.ElATAhacede
puenteentreeltelfonosincablesylareddevozsobreIP.
Imagen6:ElHospitalestconectadoalTelecentroatravsdeuncabledepartrenzadode
100m.Untelfonosinhilos(DECT)estconectadoalATA.ElATAseregistraconlaPBX
usandoelprotocoloSIP.
6.2.3EscuelaPrimaria
Eltercerclientedenuestraredeslaescueladeprimaria.Laescuelaestenunedificioadjunto
alTelecentroytambinsepuedeconectarconcabledepartrenzado.Enlaescuelasecoloca
otroequipoATA,enestecasoelequipousaelprotocoloIAX2enlugardeSIP.
En la escuela usamos el modelo de ATA (interfaz FXS) s101i o IAXy. En este cliente
conectamosuntelfonoordinarioalpuertoRJ11deladaptadortelefnico.
ElIAXynoincluyeuninterfazdeconfiguracinporweb.Lamaneramsfcilycmodade
configurarlaunidadesutilizarelpropioAsterisk.LaprimeravezqueconectaselATAalared
intentaobtenerunadireccinIPporDHCP.Miralainformacin(logs)quetedatuservidor
35. DECT,delinglsDigitalEnhanced(formerlyEuropean)CordlessTelecommunications,esunestndarde
comunicacininalmbricaparatelfonosporttilesqueoperaen1.9Ghz.
24
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
DHCPytomabuenanotadeladireccinIPdelIAXy.Elsiguientepasoeseditarelfichero
/etc/asterisk/iaxprov.confincluyendounaseccinparecidaalasiguiente:
[iaxy_school]
ip: 192.168.46.4
netmask: 255.255.255.0
gateway: 192.168.46.1
codec: ulaw
server: 192.168.46.1.2
user: 464
pass: 464pass
register
#asterisk -r <ENTER>
#CLI> iax2 provision 192.164.46.100 iaxy_school
6.2.4Asociacindeagricultores
Elcuartoclientedenuestraredeslaasociacindeagricultoresqueestsituadaenunedificio
a20kmsdenuestrasoficinascentrales(Telecentro).Laasociacinyatienedosordenadores
conectadosalTelecentroatravsdeunrouterNATinalmbrico.Elequipoinalmbricotiene
la direccin IP 192.168.46.5 y sirve una red interna (via NAT) con un rango de IPs
(10.10.46.0/24).EnlasoficinasdelaasociacinvamosainstalardosSoftphones,unousando
elprotocoloSIPyotroelprotocoloIAX2.
ElelementoquerequieremsatencineselSoftPhonequeusaSIP.Tenemosqueasegurar
queelaudiofuncionaenlasdosdirecciones.
EnelSoftphoneSIP:
ActivarelregistroconlaPBX(register).
36. ExisteunprogramaparasistemaoperativoWindowsparagestionaruntelfonodevozIPIAXydisponibleen:
http://dacosta.dynip.com/asterisk
25
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
Activar los mensajes que mantienen la conexin activa con la PBX (keepalive
packets).37
Activarlaposibilidadderecibiraudioporelmismopuertoqueloenviamos.
EnlaPBX:
ConfigurarenAsteriskqueeltelfonoestdentrodeunNAT.
UnbuenSoftPhonequeusaSIPyquefuncionabiendentrodelosNATseselprogramaX
LitedeXten.38
ElSoftPhonequeusaIAX2nonecesitaunaconfiguracinespecialparafuncionardentrode
unNAT.LonicoquetienesqueaseguraresqueelpuertodecomunicacionesdeIAX2,el
UDPpuerto4569,no estbloqueado.UnabuenaopcindeSoftPhoneconsoportepara
IAX2esiaxcomm.39
Imagen8:LaasociacindeagricultoresestconectadaalacentralitaatravsdeunNAT
inalmbrico. Un programa de telefona soft phone est instalado en cada uno de los
ordenadores.ElprimerclienteusaelprotocoloSIPmientrasqueelsegundousaIAX2.
37. LospaquetesKeepalivesonpaquetesvacoscuyanicafinalidadesasegurarquelaconexinNATse
mantieneabierta/vivapararecibirllamadasentrantes.
38. HaydisponibleunaversingratuitadelprogramaXtenen:http://www.xten.com/index.php?menu=download
39. IaxCommsepuededescargardesde:http://iaxclient.sourceforge.net
26
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
6.3ConfigurandoAsterisk
Paso1:Definiryconfigurarloscanalesdecomunicacin
Esnuestroprimerescenariovamosausardostiposdecanalesdecomunicacin:SIPyIAX2.
Porlotanto,tenemosqueeditarlosficherossip.confyiax.conf.
Ten en cuenta que los comentarios dentro de los ficheros de comunicacin en Asterisk
comienzanporpuntoycoma(;).
Enelficherosip.conf,incluyelossiguientesdatos:
[462]
type=friend ; Hacemos y recibimos llamadas
secret=462pass
context=internal_calls ; Todas las llamadas entrantes estn asociadas
; al contexto internal_calls
host=dynamic
callerid=Library
disallow=all ; Primero desactivamos todos los codecs
allow=ulaw ; Luego activamos el/los codecs que podemos usar
[463]
type=friend
secret=463pass
context=internal_calls
host=dynamic
callerid=Hospital
disallow=all
allow=ulaw
[465]
type=friend
secret=465pass
context=internal_calls
host=dynamic ; No sabemos la IP por adelantado.
; Aprendemos la IP cuando el usuario ser registra
callerid=Farmers1
disallow=all
allow=ulaw
; Opciones especficas para soporte NAT
nat=yes ; Se usan la IP,puerto del NAT
qualify=yes ; Trfico dummy para mantener la conexin viva
Yeniax.conf,tenemoslassiguientesopciones:
[464]
type=friend
secret=464pass
context=internal_calls
host=dynamic
callerid=School
disallow=all
allow=ulaw
[466]
type=friend
secret=466pass
context=internal_calls
host=dynamic
callerid=Farmers2
27
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
6.ESCENARIOARedtelefnicaprivadaenunacomunidadrural
disallow=all
allow=ulaw
Paso2:Definirlasreglasenelplandemarcado(crearlasextensiones)
Enelprimerescenariotenemostodosloscanales(users)asociadosalmismocontexto(internal
calls).Porlotanto,slotenemosquedefiniruncontextoenelplandemarcadoen
extensions.conf(vermsabajo).
[internal_calls]
exten => 462,1,Dial(SIP/462)
exten => 463,1,Dial(SIP/463)
exten => 465,1,Dial(SIP/465)
exten => 464,1,Dial(IAX2/464)
exten => 466,1,Dial(IAX2/466)
exten => t,1,Hangup() ; Extensin especial (Timeout)
exten => i,1,Hangup() ; Extensin especial (Invlido)
exten => s,1,Hangup() ; Extensin especial (Sin Destino)
Lasintxisdelficherodeextensionesextensions.confesmuyintuitiva.
En el ejemplo anterior estamos creando todas las extensiones (462 a 466) y ponindolas
disponiblesdentrodelcontexto[internal_calls].LaordenDial()creauncanalSIPoIAX2con
lospeersdenombre462a466.
28
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
7.ESCENARIOBConectandolaRTB
7.ESCENARIOB
ConectandolaRTB
Nuestro segundo escenario es el resultado de aadir al Escenario A un nuevo canal de
comunicaciones. El objetivo es incluir en la red privada anterior un canal hacia la red
telefnicatradicional(RTB).Paraello,esnecesarioaadiralaPBXunainterfazhacialared
telefnica.
Imagen9:ElTelecentrousaunatarjetaTDM400Pwildcardpara(1)conectarlaPBXala
RTB(mduloFXO)y(2)aadirunaextensinaltelfonoanalgico(FXSmodule).
7.1IncluirelsoporteparalatarjetaTDM400P
LospasosnecesariosparaponerenfuncionamientoelinterfazTDMsoncuatro.
Paso1:InsertarlatarjetaPCI
ElprimerpasoesconectarlatarjetaPCIdemediotamaoenunadelasranuraslibresdetu
placa madre. Asegrate que el conector de tipo molex (12/5 volt) del interfaz TDM est
conectadoalafuentedealimentacindetuordenador.LatarjetaTDMrecibecorrientea
travsdeunconectorhembraconocidocomo molex (eselmismotipodeconectorde4hilos
con el que se alimentan los discos duros IDE). Si tu fuente de alimentacin no tiene un
conectormachodisponibletendrsqueaadirundivisordecorriente(powersplitter).
Paso2:Instalarloscontroladoresdeldispositivo
El segundo paso es asegurarse que los controladores del dispositivo estn disponibles (se
compilaroncorrectamente y estn cargados).Ejecuta elcomando #lsmod,deberas verel
controladorwctdmcargado.Observaqueelcontroladorwctdmdependedelzaptelqueasuvez
dependedelcrc_ccitt.
29
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
7.ESCENARIOBConectandolaRTB
# lsmod
zaptel 191748 7 wctdm
crc_ccitt 2304 3 hisax,zaptel,irda
Paso3:ConfigurarlatarjetaTDM400Pconlautilidadztcfg
Eltercerpasoesconfigurareldispositivo.Loscontroladores wctdm hansidodiseadospara
funcionarconunacombinacincualquierademdulosFXSyFXO.Paraindicaralcontrolador
queestamosusandounmdulodeltipoFXOenelprimerpuertodelatarjetaeditamosel
fichero/etc/zaptel.confconlaconfiguracinmsbsica:
fxsls=1
loadzone=us ; loadzone=es para Espaa
defaultzone=us ; defaultzone=es
Laprimeralneafxsls=1significaqueestamosusandosealizacinFXSdeltipoLoopstarten
elpuerto1.RecuerdaqueunmduloFXOnecesitasealizacinFXS.
Lasegundayterceralneadelficherodeconfiguracinindicaneltipodetonosusadosenla
lnea.Elsonidoycadenciadelostonosdemarcadoodelneaocupadavarandeunpasa
otro.40
Alejecutarlautilidaddeberasobtenerelsiguienteresultado:
# ztcfg -vv
Zaptel Configuration
=========================
Channel map:
Channel 01: FXS Loopstart (Default) (Slaves: 01)
1 channels configured.
Paso4:ConfigurarAsteriskparausarelequipamientoZapata
Elcuartoyltimopasoesconfigurar Asterisk paraquereconozcayuselatarjetainterfaz
TDM.Estocrearunnuevocanaldecomunicaciones.Editamoselficherodeconfiguracin
/etc/asterisk/zapata.confdelaforma:
[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
context=incoming_pstn
signalling=fxs_ls
channel => 1
40. Lalistacompletadelasespecificacionesdetonosporpasesestdisponibleen:
http://www.itu.int/ITUT/inr/forms/files/tones0203.pdf
30
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
7.ESCENARIOBConectandolaRTB
Lastresltimaslneasdelficherozapata.confsonlasmsimportantesparaunaconfiguracin
bsica.Lalnea context=incoming_pstn indicaquetodaslasllamadasentrantesporelcanal
deRTBseasociarnaesecontexto.Lassiguientesdoslneasindicaneltipodesealizacin:
fxs_ls (FXS con Loopstart) y que las llamadas llegan por el canal/puerto 1 de la TDM,
channel=>1.
Unavezquetengasconfiguradoestenuevotipodecanal(TDMzapata)slotequedadecidir
cmogestionarlasllamadasentrantesysalientesdelaRTB.
7.1.1GestindellamadasentrantesdesdelaRTB.
En nuestro segundo escenario decidimos que el comportamiento ideal para las llamadas
entrantesdesdelaRTBeselsiguiente:unavezqueunallamadaentraporlalneaanalgica,
queremosquesedescuelgueunsistemaautomticodeatencinportonos(IVR).Elsistema
(nuestroAsterisk)preguntarporlaextensindeseada,unavezqueelnmerodeextensinse
introduzcaporelterminal(tonosDTMF)lallamadaseencaminaraunadelasextensiones.
LaideaprincipalespermitircompartirunslonmerodelaRTBcontodaslasextensiones.
Estainteligenciaseimplementaenelfichero extensions.conf. Aadimosunanuevaseccin
(contexto)[incoming_pstn]delasiguienteforma:
[incoming_pstn]
exten => s,1,Answer() ; Contestamos la llamada entrante
exten => s,2,DigitTimeout(10) ; Configuramos los valores mximos para
; introducir el nmero de extensin
exten => s,3,ResponseTimeout(20)
exten => s,4,Background(vm-extension) ; Un mensaje de voz pregunta: extensin?
exten => i,1,Goto(incoming_pstn,s,1) ; Repetir preguntar si extensin invlida
exten => t,1,Hangup() ; Colgar
include => internal_calls ; Pone a disposicin todas las extensiones
internas
Nota:laversinfinalcompletadelficheroextensions.confestdisponibleenlaSection7.3.
7.1.2GestindellamadassalientesporlaRTB
ParaquecadaunodelostelfonosIPpuedanusarlalneaanalgicadesalidacreamosun
nuevocontexto[outgoing_calls].
[outgoing_calls]
exten => _0.,1,Dial(Zap/1/${EXTEN:1})
exten => t,1,Hangup()
Laextensinespecial_0.significaqueparaalcanzarlaRTBsedebeempezarmarcandoel
numero0.LaordenDial()creaelpuenteentrelallamadaIPdesdelosterminalesyelcanal
analgico Zap/1 (canal1).Porltimo${EXTEN:1} significaqueelnmeroquesemarcar
porelcanalanalgicoeselnmeromarcadodesdelosterminalesinternosIPsinelprimer
dgito.Ennuestrocasosequitael0inicialalmarcarporlaRTB.
Una vez que hemos creado un nuevo contexto en el plan de marcado [outgoing_calls], es
necesarioquelosterminalestenganaccesoalaextensindesalida.Lamaneramsfcilde
31
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
7.ESCENARIOBConectandolaRTB
conseguirlo es aadir una lnea del tipo include => outgoing_calls al final del contexto
[internal_calls]
7.2AadiendounterminalanalgicoalaPBX
En nuestro primer escenario hemos configurado cinco terminales de VoIP en cuatro
organizaciones,peroelTelecentroquealojalaPBXnotieneningunaextensindevoz.La
maneramssimpledeaadiralTelecentrosuextensindevozesinstalarunmduloFXSen
laPBX.LatarjetaTDM400Ptiene3puertoslibres,usamoselsegundopuertodelaPCIpara
incluirelmduloFXS.UnavezquetengamoselmduloFXSconfiguradopodemosconectar
unterminalanalgico(FXO)alpuerto2delaPBX.
Elprocesoessimple;despusdeapagarlaPBX,insertamoselmduloFXSenelsegundo
puertodelatarjetaTDM.Despusdearrancarelsistema,aadimosunalneamsfxo_ls=2
alficherodeconfiguracin/etc/zaptel.conf.
fxsls=1
fxols=2
loadzone=us ; loadzone=es para espaa
defaultzone=us ; defaultzone=es
Paraasegurarqueelsegundopuerto(FXS)hasidodetectadotienesqueusarlaherramienta
ztcfg(oincluirlaenelarranque)conelsiguienteresultado:
#ztcfg -vv
Zaptel Configuration
=========================
Channel map:
2 channels configured.
UnavezqueelsistemaoperativopuedehacerusodelnuevopuertoenlaTDM,configuramos
Asterisk en /etc/asterisk/zapata.conf paraquepuedahacerusodeunnuevocanalanalgico
(eltelfono).Enelmismoficherodeconfiguracinindicamosquelasllamadasentrantesdesde
el telfono analgico (puerto 2 de la tarjeta TDM) se deben asociar al contexto
[internal_calls]
[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
context=incoming_pstn
signalling=fxs_ls
channel => 1
32
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
7.ESCENARIOBConectandolaRTB
context=internal_calls
signalling=fxo_ls
channel => 2
7.3Actualizacindelplandemarcado
Necesitamosunnuevoplandemarcadocondosnuevasfuncionalidades:
1. PermitirtantollamadasentrantescomosalientesporlaRTB(canalzapata1).
2. Incluirelnuevoterminal(canalzapata2)anuestroplandemarcado.Elterminal
analgico(FXO)enelTelecentrodebepoderhaceryrecibirllamadas.
Elficheroextensions.confparanuestrosegundoescenariotieneelsiguienteaspecto:
[incoming_pstn]
exten => s,1,Answer()
exten => s,2,DigitTimeout(10)
exten => s,3,ResponseTimeout(20)
exten => s,4,Background(vm-extension)
exten => i,1,Goto(incoming_pstn,s,1)
exten => t,1,Hangup()
include => internal_calls
[internal_calls]
exten => 461,1,Dial(Zap/2) ; Extensin 461 llama por el canal Zap 2
exten => 462,1,Dial(SIP/462)
exten => 463,1,Dial(SIP/463)
exten => 465,1,Dial(SIP/465)
exten => 464,1,Dial(IAX2/464)
exten => 466,1,Dial(IAX2/466)
exten => t,1,Hangup()
exten => s,1,Hangup()
exten => i,1,Hangup()
include => outgoing_calls ; Salida RTB disponible a todos los clientes
[outgoing_calls]
exten => _0.,1,Dial(Zap/1/${EXTEN:1}) ; Quita el 0 antes de marcar por RTB
exten => t,1,Hangup()
33
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
7.ESCENARIOBConectandolaRTB
8.ESCENARIOC
ConectandocomunidadesusandoVoIP
EnnuestroterceryltimoescenarioqueremosconectarnuestroTelecentroconuncentrode
capacitacinadistanciasituadoenotropas.Laconexindedatosserealizaratravsdeun
enlace de satlite tipo VSAT. Una vez que tengamos funcionando la conexin a Internet
podemosusarlapararealizartantollamadasinternacionalesalcentrodecapacitacincomoa
otrosdestinos.
8.1Problemasmscomunesenenlacesvasatlite
LaconexinaInternetdesdeelTelecentrotieneunanchodebandamuylimitado(128/64
Kbps)porloquedebemosdisearunasolucinquehagaunusoptimodelanchodebanda
disponible.EnelsiguienteejemploproponemosconectardoscentralitasusandoAsteriskyel
protocoloIAX2devozsobreIP.AdemsdeusarIAX2enlugardeSIP,utilizaremosuncodec
dealtacompresincomoelG.729.Paraterminar,activaremoseltrunkingdellamadasque
permiteagregarvariasllamadassimultneasenelmismoflujodepaquetesIP.
UnescenariomuycomnenentornosconVSATseslaescasezdedireccionesIPpblicasque
seofrecenenlaconexinaInternet.SinotienesningunadireccinpblicaIPdisponiblepara
tucentralitatienesqueasegurartedequeelpuertodecomunicacionesIAX2esvisibledesdeel
exterior.ParahacervisibleelpuertodebesredirigirlasconexionesalpuertoUDP4569ala
PBX.
Si tu conexin usa un enrutador del tipo Cisco con NAT tienes que usar una
configuracinparecidaalasiguiente.
34
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
8.ESCENARIOCConectandocomunidadesusandoVoIP
#ip nat inside source static udp 192.168.46.1 4569 interface fastEthernet 0/0
4569
SituenrutadorusaLinuxpuedesredirigirlasconexionesalpuerto4569atumquina
Asterisk(192.168.46.1)usandoelprogramadegestinderutas:iptables
IndependientementedeltipodeequipoqueestsusandoparaencaminartutrficoaInternet,
lo realmente importante es recordar que tu centralita tiene que ser accesible desde el
exterior.41
8.2InterconectandodosservidoresconAsterisk
8.2.1Telecentro
Elficherodeconfiguraciniax.confenelTelecentrodeberaparecersealsiguiente:
[general]
bindaddr = 0.0.0.0
tos = lowdelay
disallow = all
allow = ulaw
allow = g729 ; Permitimos el uso del codec G.729
ParaalcanzarelCentrodeCapacitacindesdenuestroTelecentroaadimosunnuevocontexto
enelficheroextensions.conf.Cuandounallamadaempiezapor99,redirigimoslaconexinal
centrodecapacitacin[server1]atravsdeInternet.
[outgoing_training_centre_calls]
exten => _99.,1,Dial(IAX2/server2:server2pass@server1/${EXTEN:2})
exten => _99.,2,Congestion ; En caso de fallo, sonido de congestionado
El siguiente paso es decidir lo que hacemos con las llamadas provenientes del Centro de
Capacitacin.Enelejemplohacemossonareltelfonoanalgico(Zap/2)enelTelecentro.
41. ElpuertopordefectodecomunicacionesIAX2esUDP4569.
35
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
8.ESCENARIOCConectandocomunidadesusandoVoIP
[incoming_training_centre_calls]
exten => _X.,1,Dial(Zap/2) ; Llamadas desde el centro de capacitacin
con cualquier
; nmero hacen sonar el telfono analog.
del Telecentro
8.2.2Centrodecapacitacin
Elficheroiax.confdelcentrodecapacitacinessimilar:
[general]
bindaddr = 0.0.0.0
tos = lowdelay
disallow = all
allow = g729 ; Usamos G.729
register => server1:server1pass@rural.telecentres.org
; Nos registramos como usuario server1
[server2]
type=friend
user=server2
secret=server2pass
host=dynamic
context=incoming_telecentres_calls
auth=md5
disallow=all
allow=g729
trunk=yes
DespusdeconfigurarelcanalIAX2enelCentrodeCapacitacin,vamosaaadirelcontexto
[outgoing_telecentres_calls] y [incoming_telecentres_calls] para gestionar las llamadas
salientesyentrantesal/desdeelTelecentro.
Creamosunareglaenelplandemarcadoparaquelasllamadasqueempiecenpor88seenven
alTelecentro(peer[server2]eniax.conf).
[outgoing_telecentres_calls]
exten => _88.,1,Dial(IAX2/server1:server1pass@server2/${EXTEN:2})
exten => _88.,2, Congestion
Lasllamadas entrantesalCentrodeCapacitacinseredirigenauncentrodeatencin de
usuario. En el siguiente ejemplo, las llamadas entrantes se reenvan al personal de ayuda
usandouncanalSIP(SIP/supportdesk)
[incoming_telecentres_calls]
exten => _X.,1,Dial(SIP/support-desk) ; Llamadas entrantes se envan al centro
; de atencin de usuario (Support Desk)42
8.2.3Lafuncinderegistro
NosepuedenrealizarllamadasaunpeerhastaqueseconozcasudireccinIP.Imagnatela
situacindondeslounadelasdoscentralitastieneladireccinIPfija.Elprocesoderegistro
permiteal peerhacerpblica sudireccinIPactual.Ennuestroejemploanteriorhemos
42. LacanalSIPqueseejecutaconDial()haciaelsupportdesk(serviciodeatencindeusuario)tieneque
configurarseenlacentralitadelCentrodeCapacitacin.
36
Unaguaparacrearunainfraestructuradevozenregionesendesarrollo
8.ESCENARIOCConectandocomunidadesusandoVoIP
usadodosrdenesderegistroaunquelafuncinderegistronoseaestrictamentenecesaria
porqueloscomunicantestienenIPfijas.Parausarlasdireccionesfijasenlugardelprocesode
registrosustituimoslaopcinhost=dynamicporlaopcinhost=<ip_addressordomain>.
9.Paraaprenderms
UnodelosmejoreslibrossobreAsterisk es:Asterisk,TheFutureofTelephony,Jim
VanMeggelen,JaredSmith,LeifMadsen.O'Really2005.LicenciaCreativeCommons.
http://www.oreilly.com/catalog/asterisk/
Descargalibreen:http://www.asteriskdocs.org/modules/tinycontent/index.php?id=11
ParanoperderdevistaloqueestpasandoenelmundodelatelefonaIPpuedes
consultar:http://www.oreillynet.com/etel/
ElsitioVoIPinfoesuna wiki enormeconcientosdeconsejosyayudas; aunque
encontrarloqueunorealmentenecesitapuedellevarteunpocodetiempo
http://www.voipinfo.org/wikiAsterisk+tips+and+tricks
10.Conclusin
EstaguaesunintentodeintroducirteenelmundodelatelefonaIP.Esperamosqueatravs
dealgunosescenarios,habersidocapacesdehacerteconscientedelasinfinitasposibilidades
que ofrece la telefona IP en regiones en desarrollo. La unin de la telefona IP con las
tecnologas inalmbricas de bajo costo permite ofrecer servicios de voz y datos a regiones
excluidas. Estas tecnologas promueven la creacin de nuevas redes comunitarias, redes
operadasymantenidasporlascomunidades.
Losficherosincluidoscomoejemplospretenderservirdeguaparaayudarteaponerenmarcha
tu primer sistema de telefona. Ningn documento puede compararse con la experiencia
personal;tenpaciencia!,tuperseveranciaeslaclaveparatuaprendizaje.Yrecuerdaqueno
estssolosiemprepuedespedirayudaenlosforosdediscusinycompartirtuexperiencia
conotros.Bienvenido/aalaunacomunidadimparabledeentusiastasdelatelefonaIP!
Esperamostullamada!
11.Agradecimientos
Nosgustaraagradeceratodoslosquehanhechoestetrabajoposible:
AdelElZaim(editorderabeyfrancs),AnasTawileh(traductoralrabe),IakiCvicoy
SylviaCadena(editoresalcastellano),JohanBilien(traductoralfrancs)yMartinBenjamin
(editoralingls).
37
Todoelmaterialdeestetrabajoestlicenciadobajo:
CreativeCommonsAttributionNonCommercialShareAlike2.5
http://creativecommons.org/licenses/byncsa/2.5/
IT+46,www.it46.seDiciembre2006