PRACK (100rel) Support

Currently i am running 15.X release of Asterisk , Does this version support PRACK

There are two SIP channel drivers in Asterisk 15. The chan_sip channel driver does not support PRACK. The chan_pjsip one does.

how to install chan_pjsip version here

currently these modules installed

root@svtlabaustin:/usr/src/asterisk-15.1.4/channels# locate chan_pjsip
/usr/lib/asterisk/modules/chan_pjsip.so
/usr/src/asterisk-15.1.4/channels/.chan_pjsip.makeopts
/usr/src/asterisk-15.1.4/channels/.chan_pjsip.moduleinfo
/usr/src/asterisk-15.1.4/channels/.chan_pjsip.o.d
/usr/src/asterisk-15.1.4/channels/chan_pjsip.c
/usr/src/asterisk-15.1.4/channels/chan_pjsip.exports
/usr/src/asterisk-15.1.4/channels/chan_pjsip.o
/usr/src/asterisk-15.1.4/channels/chan_pjsip.so
/usr/src/asterisk-15.1.4/channels/pjsip/include/chan_pjsip.h
root@svtlabaustin:/usr/src/asterisk-15.1.4/channels#

Asterisk 15 makes PJSIP available automatically, unless you explicitly disable it using “make menuselect”. There are also instructions on the wiki[1] for how to set it up and other things.

[1] https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip

  Asterisk Module and Build Option Selection
                                **************************************************

                                         Press 'h' for help.

                                         --- Core ---
                                     [*] chan_bridge_media
                                     XXX chan_dahdi
                                     [*] chan_iax2
                                     XXX chan_motif
                                     [*] chan_pjsip
                                     [*] chan_rtp
                                         --- Extended ---
                                     XXX chan_alsa
                                     XXX chan_console
                                     [*] chan_mgcp
                                     XXX chan_misdn
                                     XXX chan_nbs
                                     [*] chan_oss
                                     [*] chan_phone
                                     [*] chan_sip
                                     [*] chan_skinny
                                     [*] chan_unistim
                                     XXX chan_vpb

Hi

chan_pjsip Module already enabled

Hi
do we need to disable chan_sip ? enable only chan_pjsip module only

kindly please help

They both can’t use the same port, but chan_sip can be configured to use a different port (such as 5070).

should we need to build with chan_pjsip again and disable chan_sip and build again

please help

No, chan_pjsip is already built. You just have to configure things.

can you please help us to do the configuration

we are new to this . Really Appreciated your support

I have already provided a link to the wiki for configuring PJSIP. It includes examples and other things. For configuring chan_sip you need to look at the sample file and see where the port can be set.

i have below parameters configured in sip.conf can you please let me know which one i need to configure

context=unauthenticated ; default context for incoming calls
allowguest=yes ; enable unauthenticated calls
srvlookup=yes ; enabled DNS SRV record lookup on outbound calls
udpbindaddr=0.0.0.0 ; listen for UDP requests on all interfaces

transport=udp
tcpenable=no ; disable TCP support
progressinband=yes ; If we should generate in-band ringing always
directmedia=no ; Asterisk provides bridging of RTP packets
session-expires=3800 ; Session expiry timer
usereqphone=yes ; If yes, “;user=phone” is added to uri that contains
; a valid phone number

office-phone ; create a template for our devices
type=friend ; the channel driver will match on username first, IP second
context=LocalSets ; this is where calls from the device will enter the dialplan
host=dynamic ; the device will register with asterisk
;nat=force_rport,comedia ; assume device is behind NAT
secret=288Labs ; a secure password for this device – DON’T USE THIS PASSWORD!
dtmfmode=auto ; accept touch-tones from the devices, negotiated automatically
;transport=tcp
disallow=all ; reset which voice codecs this device will accept or offer
allow=ulaw ; which audio codecs to accept from, and request to, the device

Have you looked at the documentation or tried?

this is what we have in our system i am looking the parameter to enable it

I understand that, but have you tried at all or are you just relying on me to tell you and not even try to figure it out yourself?

Hi

i Migrated file from sip.conf to pjsip.conf

root@svtlabaustin:/etc/asterisk# /usr/src/asterisk-15.1.4/contrib/scripts/sip_to_pjsip/sip_to_pjsip.py
Please, report any issue at:
https://issues.asterisk.org/
Reading sip.conf
Converting to PJSIP…
Writing pjsip.conf

svtlabaustinCLI> sip reload
Reloading SIP
[2018-03-26 14:52:21] NOTICE[11939]: chan_sip.c:32170 reload_config: Unable to load config sip.conf
svtlabaustin
CLI> exit

can you please help us to add modules on modules.conf

Why are you reloading chan_sip when you are attempting to use chan_pjsip?

hi John

where to load this module chan_pjsip . could you please help me

module.conf :

Asterisk configuration file
;
; Module Loader configuration file
;

[modules]
autoload=yes
;
; Any modules that need to be loaded before the Asterisk core has been
; initialized (just after the logger has been initialized) can be loaded
; using ‘preload’. This will frequently be needed if you wish to map all
; module configuration files into Realtime storage, since the Realtime
; driver will need to be loaded before the modules using those configuration
; files are initialized.
;
; An example of loading ODBC support would be:
;preload => res_odbc.so
;preload => res_config_odbc.so
;
; Uncomment the following if you wish to use the Speech Recognition API
;preload => res_speech.so
;
; If you want Asterisk to fail if a module does not load, then use
; the “require” keyword. Asterisk will exit with a status code of 2
; if a required module does not load.
;
; require = chan_sip.so
; If you want you can combine with preload
; preload-require = res_odbc.so
;
; If you want, load the GTK console right away.
;
noload => pbx_gtkconsole.so
;load => pbx_gtkconsole.so
;
load => res_musiconhold.so
;
; Load one of: chan_oss, alsa, or console (portaudio).
; By default, load chan_oss only (automatically).
;
noload => chan_alsa.so
;noload => chan_oss.so
noload => chan_console.so
;