Asterisk 13.8.5 Server /Google Cloud/ PJSIP / Zoiper5

@gjoseph @david551 Yesterday just to observe I copied the same extensions.conf and pjsip.conf files to an Ubuntu Server and noticed a few things.

  1. Asterisk did not abort after a phone call was placed from the console or a phone.

  2. Initially watched a Sipvicious Attack in full effect which is something that needs to be worked.

  3. The following appeared when I dialed an extension from the console:

*CLI> console dial XXX *CLI> [Jan 28 21:31:03] WARNING[25783]: chan_oss.c:495 setformat: Unable to re-open DSP device /dev/dsp: No such file or directory[Jan 28 21:31:03] NOTICE[25783]: console_video.c:137 console_video_start: voice only, console video support not present – Executing [XXXX@default:1] Dial(“Console/dsp”, “PJSIP/XXXX,20,r”) in new stack – Called PJSIP/1241[Jan 28 21:31:03] WARNING[25912][C-00000001]: chan_oss.c:786 oss_indicate: Don’t know how to display condition 22 on Console/dsp – PJSIP/XXXX-00000001 is ringing[Jan 28 21:31:04] WARNING[25912][C-00000001]: chan_oss.c:495 setformat: Unable to re-open DSP device /dev/dsp: No such file or directory – PJSIP/XXXX-00000001 is ringing[Jan 28 21:31:05] WARNING[25912][C-00000001]: chan_oss.c:495 setformat: Unable to re-open DSP device /dev/dsp: No such file or directory[Jan 28 21:31:06] WARNING[25912][C-00000001]: c

To Stop This I Typed console hangup but it did not end the call. I hit the ctrl-c key and asterisk stop and I was back at the # prompt

This is what shows up after I stop asterisk gracefully

FRACK!, Failed assertion user_data is NULL (0) at line 121 in INTERNAL_OBJ of astobj2.c[Jan 28 21:35:25] ERROR[25803]: astobj2.c:121 INTERNAL_OBJ: FRACK!, Failed assertion user_data is NULL (0)Got 13 backtrace records#0: [0x55b6263e7e07] asterisk(__ao2_lock+0x167) [0x55b6263e7e07]#1: [0x55b62656fc66] asterisk(ast_taskprocessor_unreference+0x36) [0x55b62656fc66]#2: [0x55b626555e5e] asterisk(+0x1d7e5e) [0x55b626555e5e]#3: [0x55b6263e7a71] asterisk(+0x69a71) [0x55b6263e7a71]#4: [0x55b626555d49] asterisk(+0x1d7d49) [0x55b626555d49]#5: [0x55b626570fb8] asterisk(ast_taskprocessor_execute+0xc8) [0x55b626570fb8]#6: [0x55b626571110] asterisk(+0x1f3110) [0x55b626571110]#7: [0x55b626583429] asterisk(+0x205429) [0x55b626583429]FRACK!, Failed assertion user_data is NULL (0) at line 121 in INTERNAL_OBJ of astobj2.c[Jan 28 21:35:25] ERROR[25

I researched this and @gjoseph asked to have the results posted October 2017 but I did see answer to this issue. Please advise?

@gjoseph can you say which pjsip project is compatible with Asterisk 13.19.0 there are some dependency issues please advise? This for Centos Server 7 x86_64

Ed

Sorry for the delay… The current version of pjproject is 2.7.1 and that is the version used (plus some additional patches) when you configure asterisk with --with-pjproject-bundled. We highly recommend you use the bundled version and not an external version.

@gjoseph thanks for the update I am working on it at this present moment and will install as suggested. Update to follow

Ed

@gjoseph you suggested to install pjproject as a bundle with asterisk-13.19.0 there is something to consider before I do this. This is a x86_64 Centos 7 Server, I selected asterisk-13-current.tar.gz hoping it will install the compatible version of asterisk 13.19.0 for this x86_64 server and then this particular line needs to be applied because it is x86_64 server the modules need to be redirected from /usr/lib to /usr/lib64 using this command:

./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

Once I untar asterisk-13-current.tar.gz and issue the ./configure command --with-pjproject-bundled will the complete command look like this

/usr/src/asterisk/ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr --with-pjproject-bundled

And will it work? Please advise?

You don’t need any of the pjproject specific configure options.

You only need
./configure --prefix=/usr --libdir=/usr/lib64 --with-pjproject-bundled

1 Like

@gjoseph thanks for the update and I am working on it now and will update after completion my friend.

Ed

@gjoseph success and asterisk 13.19.0 with the bundled pjsip installation. There were many hiccups but I scripted the entire installation. Give me a day or two to

look at the log file, clean it up and submit to you for future fixes. Second I will test with current extensions.conf and pjsip.conf file to see if there is a successful sip phone call and update. Thank You much Maestro/Teacher:metal:

@gjoseph the script recorded the following and I hope this helps with future releases. I am going to test phone calls later this evening and will update the results.asterisk_install_13190.txt (8.2 KB)

If you wouldn’t mind, could you open an issue[1] with your install findings so they won’t get lost?

[1] https://issues.asterisk.org

@gjoseph will do. Question tested Asterisk 13.19.0 using the same extensions.conf and pjsip.conf file used for Asterisk 13.18.5 where the SIP Phones registered, was able to issue console dial plus extension and the phone would ring but no voice. Yesterday repeated the same procedure for Asterisk 13.19.0 and received an error and a warning. Do you suggest to create another ticket for this as well or leave it under this ticket? Please advise?

Parsing ‘/etc/asterisk/extensions.conf’: Found – Registered extension context ‘default’; registrar: pbx_config – Added extension ‘xxxx’ priority 1 to default – Added extension ‘same’ priority 2 to default – Added extension ‘xxxx’ priority 1 to default[Jan 31 20:30:11] WARNING[21432]: pbx.c:7013 add_priority: Unable to register extension ‘same’ priority 2 in ‘default’, already in use[Jan 31 20:30:11]

[Jan 31 17:21:18] WARNING[19936] res_hep_pjsip.c: res_hep is not loaded or running; declining module load
[Jan 31 17:21:18] WARNING[19936] res_hep_rtcp.c: res_hep is not loaded or running; declining module load
[Jan 31 17:23:58] WARNING[19936] chan_oss.c: Unable to re-open DSP device /dev/dsp: No such file or directory
[Jan 31 17:23:58] NOTICE[19936] console_video.c: voice only, console video support not present
[Jan 31 17:23:58] ERROR[20037] res_pjsip.c: Endpoint ‘xxxx’: Could not create dialog to invalid URI ‘xxxx’. Is endpoint registered and reachable?
[Jan 31 17:23:58] ERROR[20037] chan_pjsip.c: Failed to create outgoing session to endpoint ‘xxxx’
[Jan 31 17:23:58] WARNING[20035][C-00000000] app_dial.c: Unable to create channel of type ‘PJSIP’ (cause 3 - No route to destination)

I am going to research I do not remember seeing these statements on the 13.18.5 server and yes the Zoiper5 client registered.

Well, I see at least 2 issues…

Your extensions.conf has a duplicate line in it but also while Zoiper may think it’s registered, asterisk does not. Do a “pjsip show contacts” to see exactly what asterisk thinks is registered.

I will check into this and update shortly.

@gjoseph,

As I said I would, I have (2) Ubuntu 16.04 and (2) Centos 7 Server Instances on Google Cloud Platform. 2 are 13.18.5 and the other 2 are 13.19.0. This is my findings:

The Zoiper5 [recent upgrade 02.03.2018] Sip Client registers on both 13.18.5 servers with corrected extensions.conf files plus pjsip.conf files.

The recently created 13.19.0 Ubuntu and Centos Server the Zoiper Client does not register and receive error timeout #408.

I issued console dial extension and the cell phone rings for both 13.18.5. The image is the same from the image I posted 3 days ago. The settings on the Zoiper5 Client is the same for all servers. I made sure the calls were ended with the hangup command.

Not understanding if the same phone running the Zoiper5 Client registers for 13.18.5 and not for 13.19.0.

Any suggestions?

The only way to troubleshoot further is with packet captures.
Try first with “pjsip set logger on” in the Asterisk CLI and then try to register.
If you get no packets, then try running tcpdump or tshark from the VM command line.

@gjoseph the focus I agree is on the inoperability. I am going to use Wireshark to record, trace and review what is happening with the packets. This will take some time and will update as soon as I am done.

@gjoseph I have not forgotten decided to tweak both 13.18.5 and 13.19.0 for debugging and log file rotation plus selecting what to record in the log files. will update shortly

@gjoseph this is what I have done. I enabled logging for 13.18.5 on Centos 7 and Ubuntu 16.04 servers. I repeated the same procedures for 13.19.0 servers both being Centos 7 and Ubuntu 16.04 linux distros. Which of the log files would you like me to post?

Second, I tested 3 different Sip Phone Clients Zoiper5 [recent update], Nex and Linphone. My results were for the Centos 7 Asterisk 13.18.5 server all of the clients registered. Before I would console dial an extension and my cell phone would ring but there was no voice. All of the settings are the same on all three phones, stun, rtp and udp.

For the other three (3) servers the phones would not register at all. Ubuntu 16.04 Asterisk 13.18.5; Ubuntu 16.04 Asterisk 13.19.0 and Centos 7 Asterisk 13.19.0. The extensions and pjsip.conf files are all the same so I am perplexed becasue it is working for Centos 7 Asterisk 13.18.5 but not the other three.

Again I have all of the full log files from the sessions. Please advise?

Ed