This is the first push to this repo with my dotfiles
[dotfilesold/.git] / .config / Typora / draftsRecover / 2019-6-8 PJSIP 190837.md
1 # PJSIP
2
3 ![](https://3.bp.blogspot.com/-H4Xc2581-8k/WZyaNjbWcQI/AAAAAAAAAdw/JyODH7C_iRs0tsF17uyChA4stHPPUYqPwCLcBGAs/s1600/pjsip.jpg)
4
5 Este es otro channel driver justo como ya explicamos con el CHAN_SIP.C, pero esta vez se trata de una implementacion muchisimo mejor ejecutada, debido a multiples puntos que se iran explicando mediante este documento.
6
7 Este sistema integra NAT, SIP y un framework multimedia en un API que puede ser utilizado facilmente para crear aplicaciones de comunicacion en tiempo real, lo que no solo lo convierte en algo muy valuable para asterisk sino que tambien en muchas otras aplicaciones de comunicaciones. Este es un sistema mucho mas portable que su predecesor, lo que nos permite utilizarlo en un sin fin de las plataformas mas conocidas actualmente e incluso algunas que ya no son tan utilizadas. 
8
9 ## ConfiguraciĆ³n
10
11 Dentro de la configuracion de un tronco de este tipo en asterisk hay unas configuraciones muy basicas que se pueden seguir, pero las recomendadas por sip.us son los siguientes pasos:
12
13 + Configuracion de tronco: aqui solo necesitaremos el nombre del tronco en la configuracion general.
14 + Luego existe la configuracion del secret y usuario segun el provider, ademas del tipo de auth y el tipo de registracion. ademas de configurar el puerto que siempre es `5060`
15 + Luego vamos a elegir los tipos de codec que queremos como `ulaw` y otros tipos necesarios en nuestro caso.
16 + Ya luego solo restan las rutas de salida y codecs de video o configuraciones extra que sean necesarias.
17
18 ![](https://wiki.asterisk.org/wiki/download/attachments/28934231/complex_sip_subscriptions.png?version=4&modificationDate=1401735394155&api=v2)
19
20 Este es un ejemplo de como funcionan las multiples capas modulares de PJSIP, para en este caso soportar subscripciones de tipo stasis, esto es una de las cosas que le dan su enorme ventaja a este codigo, es que es altamente modular, lo que nos permite cambios que no rompan el resto del codigo e integrar mejoras de forma mas facil.