Use pjsua-lib without sound device

KM
Kenneth Mathis
Thu, Jul 23, 2020 11:17 AM

Hi everyone

So, I am trying to create a sip client for an embedded device that has no
audio capabilities.
Therefore I am implementing a mem capture to a buffer for the audio data.
This works so far on a host system but not on the embedded target system.

Now, on the target system I'm stuck at the call disconnecting as soon as I
pick up the phone.
Sniffing the traffic and looking at the logs tells me that my programm
disconnects after pickup. (Thus no network/pbx/codec problem I guess)
The log points out this issue:
pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid
operation (PJ_EINVALIDOP)
I looked into this it and only found some mentions about missing libraries (
https://stackoverflow.com/questions/20312927 Essentially tells me that
portaudio is missing but I have it installed?)
and the following unanswered post that somewhat describes my issue:
https://stackoverflow.com/questions/53075903
Also using endpoint.audDevManager().setNullDev(); or
endpoint.audDevManager().setNoDev(); doesn't change the outcome.

General information:
PJ-Sip Version: 2.10
My Code: https://pastebin.com/8VxVRFAL
CMakeLists.txt: https://pastebin.com/pWUcPUur
Log File: https://pastebin.com/tTbkJQCp
Target Linux kernel version: 4.3

Networking:
Local network only, everything on a single switch, no firewall
Embedded Sip Program's Address: 172.28.178.19
PBX Address: 172.28.176.10
Telephone's Address: 172.28.178.2

Note: For building the programm, I compiled PJ-Sip on the target and copied
its shared object files over to the host system in order to link them.
Not the best strategy but it appears to work as I couldn't cross
compile the library.

I also looked into creating a null sound device on the os but it seems far
more complex than what is probably required.
Would appreciate any help I can get to solve this problem.

Thanks and best regards
Kenneth Mathis

Hi everyone So, I am trying to create a sip client for an embedded device that has no audio capabilities. Therefore I am implementing a mem capture to a buffer for the audio data. This works so far on a host system but not on the embedded target system. Now, on the target system I'm stuck at the call disconnecting as soon as I pick up the phone. Sniffing the traffic and looking at the logs tells me that my programm disconnects after pickup. (Thus no network/pbx/codec problem I guess) The log points out this issue: pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid operation (PJ_EINVALIDOP) I looked into this it and only found some mentions about missing libraries ( https://stackoverflow.com/questions/20312927 Essentially tells me that portaudio is missing but I have it installed?) and the following unanswered post that somewhat describes my issue: https://stackoverflow.com/questions/53075903 Also using endpoint.audDevManager().setNullDev(); or endpoint.audDevManager().setNoDev(); doesn't change the outcome. General information: PJ-Sip Version: 2.10 My Code: https://pastebin.com/8VxVRFAL CMakeLists.txt: https://pastebin.com/pWUcPUur Log File: https://pastebin.com/tTbkJQCp Target Linux kernel version: 4.3 Networking: Local network only, everything on a single switch, no firewall Embedded Sip Program's Address: 172.28.178.19 PBX Address: 172.28.176.10 Telephone's Address: 172.28.178.2 Note: For building the programm, I compiled PJ-Sip on the target and copied its shared object files over to the host system in order to link them. Not the best strategy but it appears to work as I couldn't cross compile the library. I also looked into creating a null sound device on the os but it seems far more complex than what is probably required. Would appreciate any help I can get to solve this problem. Thanks and best regards Kenneth Mathis
LI
Larry Ing
Thu, Jul 23, 2020 3:14 PM

Hello,

I had a project wherein I had no microphone, but I did have an output
device. Since you're targeting a platform running a Linux kernel, I think
you can still try using the snd-dummy kernel driver. This should give you a
virtual sound device to make pjsua a little happier.

Regards,

Larry Ing

On Thu, Jul 23, 2020, 04:18 Kenneth Mathis kenneth.mathis99@gmail.com
wrote:

Hi everyone

So, I am trying to create a sip client for an embedded device that has no
audio capabilities.
Therefore I am implementing a mem capture to a buffer for the audio data.
This works so far on a host system but not on the embedded target system.

Now, on the target system I'm stuck at the call disconnecting as soon as I
pick up the phone.
Sniffing the traffic and looking at the logs tells me that my programm
disconnects after pickup. (Thus no network/pbx/codec problem I guess)
The log points out this issue:
pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid
operation (PJ_EINVALIDOP)
I looked into this it and only found some mentions about missing libraries
(https://stackoverflow.com/questions/20312927 Essentially tells me that
portaudio is missing but I have it installed?)
and the following unanswered post that somewhat describes my issue:
https://stackoverflow.com/questions/53075903
Also using endpoint.audDevManager().setNullDev(); or
endpoint.audDevManager().setNoDev(); doesn't change the outcome.

General information:
PJ-Sip Version: 2.10
My Code: https://pastebin.com/8VxVRFAL
CMakeLists.txt: https://pastebin.com/pWUcPUur
Log File: https://pastebin.com/tTbkJQCp
Target Linux kernel version: 4.3

Networking:
Local network only, everything on a single switch, no firewall
Embedded Sip Program's Address: 172.28.178.19
PBX Address: 172.28.176.10
Telephone's Address: 172.28.178.2

Note: For building the programm, I compiled PJ-Sip on the target and
copied its shared object files over to the host system in order to link
them.
Not the best strategy but it appears to work as I couldn't cross
compile the library.

I also looked into creating a null sound device on the os but it seems far
more complex than what is probably required.
Would appreciate any help I can get to solve this problem.

Thanks and best regards
Kenneth Mathis


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hello, I had a project wherein I had no microphone, but I did have an output device. Since you're targeting a platform running a Linux kernel, I think you can still try using the snd-dummy kernel driver. This should give you a virtual sound device to make pjsua a little happier. Regards, Larry Ing On Thu, Jul 23, 2020, 04:18 Kenneth Mathis <kenneth.mathis99@gmail.com> wrote: > Hi everyone > > So, I am trying to create a sip client for an embedded device that has no > audio capabilities. > Therefore I am implementing a mem capture to a buffer for the audio data. > This works so far on a host system but not on the embedded target system. > > Now, on the target system I'm stuck at the call disconnecting as soon as I > pick up the phone. > Sniffing the traffic and looking at the logs tells me that my programm > disconnects after pickup. (Thus no network/pbx/codec problem I guess) > The log points out this issue: > pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid > operation (PJ_EINVALIDOP) > I looked into this it and only found some mentions about missing libraries > (https://stackoverflow.com/questions/20312927 Essentially tells me that > portaudio is missing but I have it installed?) > and the following unanswered post that somewhat describes my issue: > https://stackoverflow.com/questions/53075903 > Also using endpoint.audDevManager().setNullDev(); or > endpoint.audDevManager().setNoDev(); doesn't change the outcome. > > General information: > PJ-Sip Version: 2.10 > My Code: https://pastebin.com/8VxVRFAL > CMakeLists.txt: https://pastebin.com/pWUcPUur > Log File: https://pastebin.com/tTbkJQCp > Target Linux kernel version: 4.3 > > Networking: > Local network only, everything on a single switch, no firewall > Embedded Sip Program's Address: 172.28.178.19 > PBX Address: 172.28.176.10 > Telephone's Address: 172.28.178.2 > > Note: For building the programm, I compiled PJ-Sip on the target and > copied its shared object files over to the host system in order to link > them. > Not the best strategy but it appears to work as I couldn't cross > compile the library. > > I also looked into creating a null sound device on the os but it seems far > more complex than what is probably required. > Would appreciate any help I can get to solve this problem. > > Thanks and best regards > Kenneth Mathis > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >
KM
Kenneth Mathis
Thu, Sep 3, 2020 2:15 PM

Hi,

Loading the snd-dummy kernel driver worked flawlessly.
Thank you very much for your kind help.

Best regards
Kenneth Mathis

Am Do., 23. Juli 2020 um 17:15 Uhr schrieb Larry Ing larrys@lwi3.net:

Hello,

I had a project wherein I had no microphone, but I did have an output
device. Since you're targeting a platform running a Linux kernel, I think
you can still try using the snd-dummy kernel driver. This should give you a
virtual sound device to make pjsua a little happier.

Regards,

Larry Ing

On Thu, Jul 23, 2020, 04:18 Kenneth Mathis kenneth.mathis99@gmail.com
wrote:

Hi everyone

So, I am trying to create a sip client for an embedded device that has no
audio capabilities.
Therefore I am implementing a mem capture to a buffer for the audio data.
This works so far on a host system but not on the embedded target system.

Now, on the target system I'm stuck at the call disconnecting as soon as
I pick up the phone.
Sniffing the traffic and looking at the logs tells me that my programm
disconnects after pickup. (Thus no network/pbx/codec problem I guess)
The log points out this issue:
pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid
operation (PJ_EINVALIDOP)
I looked into this it and only found some mentions about missing
libraries (https://stackoverflow.com/questions/20312927 Essentially
tells me that portaudio is missing but I have it installed?)
and the following unanswered post that somewhat describes my issue:
https://stackoverflow.com/questions/53075903
Also using endpoint.audDevManager().setNullDev(); or
endpoint.audDevManager().setNoDev(); doesn't change the outcome.

General information:
PJ-Sip Version: 2.10
My Code: https://pastebin.com/8VxVRFAL
CMakeLists.txt: https://pastebin.com/pWUcPUur
Log File: https://pastebin.com/tTbkJQCp
Target Linux kernel version: 4.3

Networking:
Local network only, everything on a single switch, no firewall
Embedded Sip Program's Address: 172.28.178.19
PBX Address: 172.28.176.10
Telephone's Address: 172.28.178.2

Note: For building the programm, I compiled PJ-Sip on the target and
copied its shared object files over to the host system in order to link
them.
Not the best strategy but it appears to work as I couldn't cross
compile the library.

I also looked into creating a null sound device on the os but it seems
far more complex than what is probably required.
Would appreciate any help I can get to solve this problem.

Thanks and best regards
Kenneth Mathis


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi, Loading the snd-dummy kernel driver worked flawlessly. Thank you very much for your kind help. Best regards Kenneth Mathis Am Do., 23. Juli 2020 um 17:15 Uhr schrieb Larry Ing <larrys@lwi3.net>: > Hello, > > I had a project wherein I had no microphone, but I did have an output > device. Since you're targeting a platform running a Linux kernel, I think > you can still try using the snd-dummy kernel driver. This should give you a > virtual sound device to make pjsua a little happier. > > Regards, > > Larry Ing > > On Thu, Jul 23, 2020, 04:18 Kenneth Mathis <kenneth.mathis99@gmail.com> > wrote: > >> Hi everyone >> >> So, I am trying to create a sip client for an embedded device that has no >> audio capabilities. >> Therefore I am implementing a mem capture to a buffer for the audio data. >> This works so far on a host system but not on the embedded target system. >> >> Now, on the target system I'm stuck at the call disconnecting as soon as >> I pick up the phone. >> Sniffing the traffic and looking at the logs tells me that my programm >> disconnects after pickup. (Thus no network/pbx/codec problem I guess) >> The log points out this issue: >> pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid >> operation (PJ_EINVALIDOP) >> I looked into this it and only found some mentions about missing >> libraries (https://stackoverflow.com/questions/20312927 Essentially >> tells me that portaudio is missing but I have it installed?) >> and the following unanswered post that somewhat describes my issue: >> https://stackoverflow.com/questions/53075903 >> Also using endpoint.audDevManager().setNullDev(); or >> endpoint.audDevManager().setNoDev(); doesn't change the outcome. >> >> General information: >> PJ-Sip Version: 2.10 >> My Code: https://pastebin.com/8VxVRFAL >> CMakeLists.txt: https://pastebin.com/pWUcPUur >> Log File: https://pastebin.com/tTbkJQCp >> Target Linux kernel version: 4.3 >> >> Networking: >> Local network only, everything on a single switch, no firewall >> Embedded Sip Program's Address: 172.28.178.19 >> PBX Address: 172.28.176.10 >> Telephone's Address: 172.28.178.2 >> >> Note: For building the programm, I compiled PJ-Sip on the target and >> copied its shared object files over to the host system in order to link >> them. >> Not the best strategy but it appears to work as I couldn't cross >> compile the library. >> >> I also looked into creating a null sound device on the os but it seems >> far more complex than what is probably required. >> Would appreciate any help I can get to solve this problem. >> >> Thanks and best regards >> Kenneth Mathis >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >