Está en la página 1de 46

VoIPparaeldesarrollo

Unaguaparacrearunainfraestructuradevoz enregionesendesarrollo

Autores:

AlbertoEscuderoPascual LouiseBerthilson

VoIPparaeldesarrollo Unaguaparacrearunainfraestructuradevozenregionesendesarrollo

TabladeAbreviaturas Abreviatura ATA DECT FXO FXS GSM IAX(2) IETF ITU/UIT IVR NAT PBX(PABX) PCM/MIC PSTN/RTB(C) QoS RFC RTP SCCP SIP SS7 TA/ATA UDP VoIP VSAT Descripcin AdaptadorTelefnicoAnalgico ComunicacinDigitalInalmbricaMejorada DigitalEnhancedCordlessTelecommunications ForeignExchangeOffice ForeignExchangeStation SistemaGlobalparaComunicacionesMviles GlobalSystemforMobilecommunication ProtocolodeIntercambiodeAsterisk(versin2) GrupodeTrabajodeIngenieradelaInternet InternetEngineeringTaskForce UninInternacionaldeTelecomunicaciones InternationalTelecommunicationsUnion RespuestadeVozInteractivaRespuestaVocalInteractiva InteractiveVoiceResponse TraductordeDireccionesdeRed NetworkAddressTranslator CentralitaTelefnica(Automtica)Privada Private(Automatic)BranchExchange ModulacinporImpulsosCodificados PulseCodeModulation ReddeTelefonaBsica(Conmutada) PublicSwitchedTelephoneNetwork CalidaddeServicio QualityofService DocumentodeTrabajodeEstandarizacin(Internet) RequestForComment ProtocolodeTiempoReal RealtimeTransportProtocol ProtocolodeControldeLlamadasSkinny SkinnyCallControlProtocol ProtocolodeSealizacindeSesin(es) SessionInitiationProtocol SistemadeSealizacin(versin)7 SignallingSystem7 AdaptadorTelefnico TelephoneAdapter UserDataProtocol VozsobreIP.TelefonaIP 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

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.

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? La respuesta es simple: sostenibilidad y flexibilidad. Los servicios gratuitos te pueden solucionarunanecesidadacortoplazoperonuncagarantizartuindependenciaoelcontrolde tupropioprocesodeaprendizajeydesarrollo.Nosetratadeunacuestinpuramentetcnica. Elproblemanoesdecidirculeslamejordelastecnologassinoculeslaquepermitequelas comunidades sean dueas de su propio desarrollo y que puedan adaptarla a sus propias necesidades. Es muy difcil imaginar un desarrollo sostenible sin transferencia de conocimiento y reapropiamientotecnolgico.Unasolucinbasadaenestndaresabiertosycdigolibrenoes
8. 1MbpsenelEstedefricacuestamsde1000USD/mesmientrasquelamismacapacidadenSueciacuesta menosde10USD/mes. 9. UnaconversacindevozIPusandouncodeccomoelG.729(8Kbps)requiereunos30KbpsusandoSIPytan slo24KbpsconIAX2.Siagregamoscincollamadassimultneascadallamadasereducea13Kbps.

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.

Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 2.Lapocinmgica

Dentro de la pocin mgica de la telefona los estndares abiertos son un ingrediente necesario,peroloquerealmentehapermitidoestanuevarevolucinhasidolaposibilidadde emularlafuncionalidaddelossistemasdetelefonatradicionalesconunprogramafuncionando enunordenadorpersonal.Todosloselementosnecesariosestnatualcance: tienes el acceso a los programas y a los equipos que permiten el intercambio de conversacionestelefnicas. tienesunaredabiertaypblicaparaintercambiaresasllamadas(laInternet). tieneslaposibilidaddemodificarcadaunodeloselementosparaadaptarlosatus propiasnecesidades.

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.

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. LaRTBhaestadohistricamentegobernadaporestndares creadosporlaUIT, 13 mientras queInternetesgobernadaporlosestndaresdelIETF.14Ambasredes,laRTBeInternetusan direcciones para encaminar sus flujos de informacin. En la primera se usan nmeros

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.

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. 2. UnFXSnecesitaestarconectadoaunFXO(comounalneatelefnicanecesitaestar conectadaauntelfono)oviceversa. 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.

Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta

2. 3.

Negociarlacalidad15deunallamadatelefnica. 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.

Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 3.Lareceta

elNATpermiteconectarmsfcilmenteordenadoresalared,lohacealpreciodenopermitir unaconexinpuramentebidireccional.ElefectodeunNATenvozsobreIPesquenose puedenrecibirconexionesiniciadasdesdeelexterior. ExistenvariosproblemasrelacionadosconNATyVoIP.Elmscomnde los problemases conocido como audio en una sola direccin (oneway audio). Como recordars, una conversacinestcompuestapordosflujosdepaquetesRTPdistintos.Enpresenciadeun NAT,sloelflujodedentroafueranoesbloqueado;elflujodefueraadentronotienela mismasuerteypuedeatravesarelNAT.Laconsecuencia:elqueinicialallamadadesdedentro delNATnopuedeescucharalaotraparte.Silosdoscomunicantesseencuentrandentrode NATslascosassecomplicananms,hastaelpuntodequeningnflujodeaudiollegaasu destinofinal. 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. 2. Reduceelusodeanchodebandaporllamada. 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. Una buena idea es comprarinicialmente la versin de la TDM400P con dos mdulos. Un mdulo FXO (para conectar una lnea telefnica) y un FXS (para conectar un telfono analgico).Sienelfuturonecesitasexpandirlatarjetasiemprepuedesaadirmdulosextra mstarde.

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.

Imagen4: Unacentral telefnicaporttilbasada en unaplaca miniITX conunatarjeta DigiumTDM400P

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

SiquieresusarunatarjetaDigiumWildcard(tm)con Asterisk vas atenerque compilare instalaruncontroladorllamadozaptel(mdulodelkernel).

Descarga el cdigo fuente del Zaptel de http://www.asterisk.org. Por desgracia, el controladordezaptelnoformapartedelncleo(kernel)deLinuxytienesquecrearte tuspropiosmdulos. Asegrate de que las cabeceras del ncleo del kernel (paquete kernelheaders) est instaladoentusistema.30

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 Asteriskclassic(obligatorio) Asteriskconfig(sugerido) Asteriskdev(opcional) Asteriskdoc(sugerido) Asterisksoundsextra(opcional) Asterisksoundsmain(opcional) Descripcin PBXencdigolibreversinoriginaldeDigium ficherosdeconfiguracinparaAsterisk ficherosdedesarrolloparaAsterisk documentacinparaAsterisk ficherosadicionalesdesonidoparaAsterisk ficherosdesonidoparaAsterisk

Adadehoy,noexisteunaversinbinaria(compilada)delcontroladordelncleozaptel.No tienesmsopcinqueseguirelmtododescritoenlaseccinanterior.Descargaelcdigo fuentedelcontroladordelncleo(zaptelkerneldrive)ycreaelmduloconlautilidadmakey makeinstall.Noolvidesqueantesdecompilarelcontroladornecesitastener instaladaslas cabecerasdelncleo(kernel)deLinux.

Paquete zaptel(obligatorio) zaptelsource(obligatorio) linuxheaders2.6.1525386 (dependetudistribucin)

Descripcin UtilidadesparaZaptel CdigofuentedelcontroladordelncleoZaptel CabecerasdelncleodeLinuxparaUbuntuDapper 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

Arrancaenmododedepuracino verbose(vvv)yabre unclienteenmodoconsola(c) (conunclienteenmodoconsola(CLI)puedessupervisarloqueestapasandoenelservidor. 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> #CLI> #CLI> #CLI> #CLI> #CLI> sip show users sip show peers sip show channels iax2 show peers iax2 show users 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. Recuerda que Asterisk te permite interconectar distintos dispositivos usando diferentes protocolosdeVoIP.Losficherosdeconfiguracinquenecesitasprepararestnasociadosal tipo de tecnologa VoIP que vayas a usar. No es mala idea instalar los ficheros ejemplo (samples)comoreferencia. 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 /etc/asterisk/extensions.conf (siempreobligatorio) /etc/asterisk/sip.conf /etc/asterisk/iax.conf /etc/asterisk/zapata.conf Descripcin Contieneelplandemarcado(dialplan).Interconecta loscanales. SeusaparaconfigurarcanalestipoSIP(telfonosSIP yproveedoresSIP) Se usa para configurar canales tipo IAX2 (telfonos IAX2yproveedoresIAX2) Se usa para configurar las tarjetas de interfaz RTB tipo Zapata. Asterisk usa la configuracin para habilitarelcanal(es)delatarjetaenelarranque Configuracin de bajo nivel de la tarjeta zaptel. Indicaquedispositivodeltipozaptelestamosusando. LautilidadZaptelConfiguratortoolztcfgusaeste ficherodeconfiguracinantesdearrancarAsterisk

/etc/zaptel.conf

5.5Peers,UsersyFriends
UnodelostemasmscomplicadosdeAsterisk(oalmenoslohasidoparamdurantemucho tiempo)eseldelusodelaopcinpeer,useryfriendenlosficherosiax.confysip.conf. Lostrminos peer,user y friend seusanparaclasificarlasllamadasentrantesysalientes. MientrasqueunuseresunaconexinqueseautentificaconnuestraPBX(i.e.unallamada entrante),unpeeresunallamadasaliente.Losusersnosllamanynosotrosllamamosalos

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. Organizacin HospitalRegional EscueladePrimaria AsociacinGanaderos Tecnologa ATAusandoelprotocoloSIP ATAusandoelprotocoloIAX2 DostelfonosSoftPhonesusandoSIPyIAX2 Extensin 462 463 464 465,466

BibliotecaComunitaria TelfonoVoIPconprotocoloSIP

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 DireccinIPdeltelfonoVoIP DireccinIPdelaPBX(proxySIP) Registrar/Register NombredeUsuario(User/Authname) CallerID Clave/Password Codec

Valor 192.168.46.2 192.168.46.1 SI/YES 462 462 462pass G.711(ulaw)

Imagen 5: La biblioteca comunitaria est conectada a la PBX a travs de una pasarela inalmbrica.ElenlacepuntoapuntopermitealterminaldeVoIPhaceryrecibirllamadas.

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 DireccinIPdelATA DireccinIPdelaPBX(SIPproxy) Registrar/Register NombredeUsuario(User/Authname) CallerID Clave/Password Codec

Valor 192.168.46.3 192.168.46.1 SI/YES 463 463 463pass 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

SupongamosquetuservidorDHCPle asign la direccinIP192.168.46.100alATA. Para actualizarlaconfiguracindelaunidadescribedesdelaconsoladeAsterisklasiguienteorden:


#asterisk -r <ENTER> #CLI> iax2 provision 192.164.46.100 iaxy_school

Sino quieresusarelpropio Asterisk paraactualizarelIAXypuedesusarunprogramade administracinbajoWindows.36

Imagen7: La escuela primaria est conectada a la PBX a travs de un cable de par trenzado.UnATAconsoportedeIAX2conectauntelfonoanalgicoalacentralita.

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 Desde el punto de vista conceptual no existen diferencias entre la configuracin de un programa cliente de telefona IP en unordenador y un terminal fsico. Usalos valores de usuario/clave465/465passy 466/466passencadaunodelosprogramas.Asegratequeel codecG711(ulaw)estactivadoyqueladireccindelaPBX(proxy)esla192.168.46.1.

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 secret=462pass context=internal_calls host=dynamic callerid=Library disallow=all allow=ulaw [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 callerid=Farmers1 disallow=all allow=ulaw nat=yes qualify=yes ; Opciones especficas para soporte NAT ; Se usan la IP,puerto del NAT ; Trfico dummy para mantener la conexin viva ; Hacemos y recibimos llamadas ; Todas las llamadas entrantes estn asociadas ; al contexto internal_calls

; Primero desactivamos todos los codecs ; Luego activamos el/los codecs que podemos usar

; No sabemos la IP por adelantado. ; Aprendemos la IP cuando el usuario ser registra

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.

Loscorchetes [nombre_contexto] indicandndeempiezael contexto ysunombrede identificacin.Losnombresdeloscontextossehandefinidoenlosficherosdecanales decomunicacinsip.confyiax.conf.(Paso1) Cadaunadelasseccionesdelplandemarcadoestasociadaauncontexto.Cadauna delaslneasdentrodelcontextotienenelformato:


exten => numero, prioridad, accin

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. EnesteejemploproponemoselusodeunatarjetaPCITDM400Pde Digium conunpuerto FXO.ComorecordarslatarjetaTDM400Pesuninterfazalqueselepuedenincluirhasta cuatromdulosFXS/FXO.ElusodeunmduloFXOtepermitirconectarlaPBXauna lneatelefnicaanalgica.

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 crc_ccitt

191748 2304

7 wctdm 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 Usamos ztcfg, unautilidaddeconfiguracindedispositivoszaptelqueseinstalacomoparte del cdigo fuente de Asterisk o el paquete zaptel. Ejecutamos /sbin/ztcfg para cargar y ejecutarelficherodeconfiguracin/etc/zaptel.conf. 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() exten => s,2,DigitTimeout(10) ; Contestamos la llamada entrante ; 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]
include => outgoing_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: Channel 01: FXS Loopstart (Default) (Slaves: 01) Channel 02: FXO Loopstart (Default) (Slaves: 02) 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 ;Aadimos un mdulo FXS

32

Unaguaparacrearunainfraestructuradevozenregionesendesarrollo 7.ESCENARIOBConectandolaRTB

context=internal_calls signalling=fxo_ls channel => 2

7.3Actualizacindelplandemarcado
Necesitamosunnuevoplandemarcadocondosnuevasfuncionalidades: 1. 2. PermitirtantollamadasentrantescomosalientesporlaRTB(canalzapata1). 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.

Imagen 10: Tanto el Telecentro como el Centro de Capacitacin tienen su centralita Asterisk.LascentralitasestninterconectadasgraciasaunenlacedesatlitetipoVSAT.

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
#/sbin/iptables -t nat -A PREROUTING -p udp --dport 4569 -i eth0 -j DNAT --todestination 192.168.46.1:4569

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

register => server2:server2pass@training_voip.org ; server2:server2pass es el usuario ; y clave que usamos para registrarnos ; Cuenta de usuario que usar el Centro de Capacitacin para registrarse con nosotros [server1] type=friend user=server1 secret=server1pass host=dynamic ; Aprendemos la direccin IP ; cuando se registran con nosotros context=incoming_training_centre_calls auth=md5 ; Aadimos seguridad en autentificacin disallow=all allow=g729 trunk=yes ; Activamos el trunking

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) con cualquier del Telecentro

; Llamadas desde el centro de capacitacin ; nmero hacen sonar el telfono analog.

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/

Este trabajo se ha llevado a cabo gracias al apoyo de la Iniciativa AcaciadelCentroInternacionaldeInvestigacionesparaelDesarrollo

El Centro Internacional de Investigaciones para el Desarrollo de Canad (IDRC) es una de las instituciones lderes en la generacin y aplicacin de nuevos conocimientos para resolver los retos de la desarrollointernacional.ElIDRCcuentaconmsde 30aosdecolaboracinconinvestigadoresenregiones endesarrolloensutrabajoporcrearsociedadesms prsperasyequitativas.

IT+46,www.it46.seDiciembre2006

También podría gustarte