B4J Question Dynamic Sip Calls - I do know where to ask this question

hatzisn

Expert
Licensed User
Longtime User
Good morning everyone,

I do not know if this is the correct place to ask this question but since it is Raspberry Pi related I suppose it is the correct place to do this.
I was looking for a way to play sound files through a SIP service provider and I found the following:


I tried to Install it and here is what I have got:


The first step of the installation worked correctly. That is:

# Install dependencies
sudo apt install autoconf checkinstall libgpac-dev libmp3lame-dev libopencore-amrnb-dev
sudo apt install autoconf checkinstall libopencore-amrwb-dev libtheora-dev libvorbis-dev yasm zlib1g-dev libsdl-sound1.2-dev
sudo apt install autoconf checkinstall libportaudio-dev git python3 ffmpeg



The second step also worked with a minor change as seen bellow:

# Install pjsip
****{{{This no longer works as pjproject has moved to github. Added git clone command. Continue on git part.}}}****
{{{{wget http://www.pjsip.org/release/2.7.2/pjproject-2.7.2.tar.bz2
tar xvfj pjproject-2.7.2.tar.bz2 && rm pjproject-2.7.2.tar.bz2
cd pjproject-2.7.2/}}}}

git clone https://github.com/pjsip/pjproject.git
cd pjproject
./configure --disable-video --disable-libwebrtc
make dep && make clean && make
sudo make install


The third step of the installation (see bellow) worked but at the final step ("make") I get the following error. Can anyone please figure out what is wrong and advise me on what to do and how to overcome this? The model of my Raspberry Pi is 4B.

# Build cgcall
git clone https://github.com/philipptrenz/cgcall.git
cd cgcall
make


Error:

pi@raspberrypi:~/cgcall $ make
cc -o cgcall src/cgcall.c `pkg-config --cflags --libs libpjproject`
src/cgcall.c: In function 'get_timestamp':
src/cgcall.c:686:15: warning: passing argument 1 of 'localtime' from incompatible pointer type [-Wincompatible-pointer-types]
Tm=localtime(&ltime);
^~~~~~
In file included from src/cgcall.c:46:
/usr/include/time.h:123:19: note: expected 'const time_t *' {aka 'const long int *'} but argument is of type 'time_t **' {aka 'long int **'}
extern struct tm *localtime (const time_t *__timer) __THROW;
^~~~~~~~~
src/cgcall.c: In function 'get_elapsed_time':
src/cgcall.c:709:27: warning: passing argument 1 of 'difftime' makes integer from pointer without a cast [-Wint-conversion]
double diff_t = difftime(end, start);
^~~
In file included from src/cgcall.c:46:
/usr/include/time.h:78:32: note: expected 'time_t' {aka 'long int'} but argument is of type 'time_t *' {aka 'long int *'}
extern double difftime (time_t __time1, time_t __time0)
~~~~~~~^~~~~~~
src/cgcall.c:709:32: warning: passing argument 2 of 'difftime' makes integer from pointer without a cast [-Wint-conversion]
double diff_t = difftime(end, start);
^~~~~
In file included from src/cgcall.c:46:
/usr/include/time.h:78:48: note: expected 'time_t' {aka 'long int'} but argument is of type 'time_t *' {aka 'long int *'}
extern double difftime (time_t __time1, time_t __time0)
~~~~~~~^~~~~~~
src/cgcall.c: In function 'log_caller':
src/cgcall.c:761:16: warning: passing argument 1 of 'get_timestamp' makes pointer from integer without a cast [-Wint-conversion]
get_timestamp(call_start_time, timestamp);
^~~~~~~~~~~~~~~
src/cgcall.c:682:35: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_timestamp(time_t* ltime, char* dest)
~~~~~~~~^~~~~
src/cgcall.c:766:19: warning: passing argument 1 of 'get_elapsed_time' makes pointer from integer without a cast [-Wint-conversion]
get_elapsed_time(call_start_time, now, duration);
^~~~~~~~~~~~~~~
src/cgcall.c:707:38: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_elapsed_time(time_t* start, time_t* end, char* result)
~~~~~~~~^~~~~
src/cgcall.c:766:36: warning: passing argument 2 of 'get_elapsed_time' makes pointer from integer without a cast [-Wint-conversion]
get_elapsed_time(call_start_time, now, duration);
^~~
src/cgcall.c:707:53: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_elapsed_time(time_t* start, time_t* end, char* result)
~~~~~~~~^~~
/usr/bin/ld: /usr/local/lib/libpj-armv7l-unknown-linux-gnueabihf.a(os_timestamp_common.o): undefined reference to symbol 'fmod@@GLIBC_2.4'
/usr/bin/ld: //lib/arm-linux-gnueabihf/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
 
Top