3

I'm trying to run linphone voip client in rasberry pi 3 , So I'm using my own server freeswitch as sip server and linphone as client.

I can register my sip account via linphonec in the terminal but when I try calling another client the terminal is getting frozen and when I close the terminal and open again I cannot register my account again. I can only register after rebooting the pi. I've tried it several times but I'm getting the same thing. While I'm trying to make a call via linphone I cant hear anything and the terminal freezes.

It maybe a issue of soundcard, so I configured it properly. I'm using the headphone jack in rasberry pi 3.

If anyone knows why the crash occurs or why can't I hear anything in linphone please guide me.

  • I suggest you check your setup using a regular computer, preferably using the same version of linphone. When that works, we'll know the issue is in the RPi and not somewhere else, like your SIP server config. – Dmitry Grigoryev Feb 27 '17 at 13:09
  • 1
    I've got the same problem on a Raspberry Pi 3 B. The config works like a charm if used on a regular pc. I tested the malfunction on both raspian and archlinux. Have you gotten rid of the bug? – Aiyion.Prime Aug 3 '18 at 13:46
  • No i didnt move forward with that project at that time. – Dinesh Thiyagarajan Aug 4 '18 at 5:27
2

I've got linphonec working on a vanilla (freshly installed and unmodified) raspian.

Version 3.6.1 [of linphonec] is widely known to have issues; but which is specifically causing the error, I don't know.

What I do know, is that the version which currently gets installed from apt (as of Aug 4, 2018) is a few versions behind the current version, which is 3.12.0.

What worked for me is building the project from source. This is easier than you might think. Caveat: You'll need about two gigabyte free space. Let's get it done:

Start with installing so called build-dependencies:

sudo apt-get install cmake automake autoconf libtool intltool yasm libasound2-dev libpulse-dev libv4l-dev nasm git libglew-dev

The following step may take some time (~30m) as the project is huge. In your home directory call the following, in order to retrieve the sourcecode:

git clone git://git.linphone.org/linphone-desktop.git --recursive

change into the now created directory:

cd linphone-desktop

the following step is optional, read carefully: I run my RPi in "headless" mode; i.e. do not have a graphical desktop environment running on my pi. Therefore it would be a waste of time to compile all the gui-tools of linphone. So, if you do not need gui, like me; run the following line:

./prepare.py no-ui -DENABLE_OPENH264=ON -DENABLE_WEBRTC_AEC=OFF -DENABLE_UNIT_TESTS=OFF -DENABLE_MKV=OFF -DENABLE_FFMPEG=ON -DENABLE_CXX_WRAPPER=OFF -DENABLE_NON_FREE_CODECS=ON -DENABLE_VCARD=OFF -DENABLE_BV16=OFF -DENABLE_V4L=OFF

Whether you decided to use the line above or not, the last step is to build the project using make. Make usually runs on one core of your processor and does therefore potentially waste your time. Make has a flag called '-j' which allows users to specify how many jobs should be done at once. Knowing your system now pays dividends! As I'm building on an pi3 revision b, my processor is a quad-core ARM Cortex-A53. What matters is the quadcore part.

So call the following:

make -j4

This step should also take about 30 minutes if you decided to omit the job flag.

So we're done. The compiled output lies now in the subdirectory OUTPUT/no-ui/bin. You may call the linphonec binary like this, for example:

cd OUTPUT/no-ui/bin

and then

./linphonec -v

and get a result like this:

version: 3.12.0

if you call the tool without the version flag, it runs as you specified it to do in ~/.linphonerc (in your/pi's home directory).

  • 1
    Very good answer, IMO. I was asked to review your answer, and so I have made a few edits in an effort to improve readability. Please look over those, and let us know if you take issue with any of my edits. One item I still have a question about is your call to linphone: ./linphonec -v - please review that to make sure it's accurate as I'm unclear on how you got into the same directory with the executable. And just FYI, have you seen this thread? – Seamus Aug 4 '18 at 23:15
  • Thanks for reviewing this. The edits are perfectly fine with me. I fixed the missing cd command, if that was, what you were asking for. – Aiyion.Prime Aug 6 '18 at 12:52
  • I haven't seen the thread you linked; But I do not see, what I need it for, yet? – Aiyion.Prime Aug 6 '18 at 12:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.