Select Legato Packages

Hello Guys,
I’m new here. I have issue about how to select packages from legato.
For example: In legato-17.07.1 has a 3rdParty pjsiip. How build it in my legato system?

Regards,
Allyson

Hi @Allyson,

the pjsip is not yet used by any Legato app, but we should have a sample app that uses it soon.

Hi @CoRfr
Ok, But how build this lib?

And I have other problem.
I was re-write module WP8548 and now the system run kernel but get error when initilize filesystem.

How I go to bootloader again to re-write rootfs?

Regards,
Allyson

Hi @Allyson,

for the pjsip lib, you can use externalBuild: Component Definition .cdef - Legato Docs

Here is a sample Component.cdef for pjsip:

bundles:
{
    file:
    {
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjlib-util.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjlib-util.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia-audiodev.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia-audiodev.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia-codec.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia-codec.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia-videodev.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjmedia-videodev.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjnath.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjnath.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsip-simple.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsip-simple.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsip.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsip.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsip-ua.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsip-ua.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpj.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpj.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsua2.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsua2.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsua.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libpjsua.so.2 /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libsrtp.so /usr/lib/
        ${LEGATO_BUILD}/3rdParty/pjsip/lib/libsrtp.so.2 /usr/lib/
    }
}

externalBuild:
{
    "mkdir -p $${LEGATO_BUILD}/3rdParty/pjsip"
    "cp -rf $${LEGATO_ROOT}/3rdParty/pjsip/* $${LEGATO_BUILD}/3rdParty/pjsip"
    "cd $${LEGATO_BUILD}/3rdParty/pjsip && LD= && ./configure --host=$$($$CC -dumpmachine) --prefix=$${LEGATO_BUILD}/3rdParty/pjsip --disable-libwebrtc --disable-sound --disable-resample --disable-oss --disable-video --disable-small-filter --disable-large-filter --disable-speex-aec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-sdl --disable-ffmpeg --disable-v4l2 --disable-openh264 --disable-opencore-amr --disable-silk --disable-opus --disable-libyuv --enable-shared && make dep && make clean && make && make install"
}

As for the bricked WP85, if you are using a mangOH Green, you should be able to put it back into recovery mode through TP1_BOOT on switch 7 @ SW401, cf http://mangoh.io/uploaded-documents/Reference/mangOH%20Green/Discover/Hardware%20User%20Guide/mangOH%20Dev%20Kit%20User%20Guide%20-%20HTML5-Responsive%20HTML5/#t=mangOH_Dev_Kit_User_Guide_-_HTML5%2FHardware%2FHardware.htm&rhsearch=switch&rhhlterm=switch&rhsyns=%20#XREF_26954_SW401_Module

Upon reboot it should be in some kind of ‘recovery mode’ which should allow you to use fdt or swiflash (https://source.sierrawireless.com/resources/airprime/software/swiflash/) to flash a .cwe or .spk that overrides the faulty rootfs.

1 Like

BTW if you want to have a look at the associated sample app: [Audio] Add RTP API as a sample application · legatoproject/legato-af@f9d266f · GitHub

I can run the application with the following commands on WP76:
app restart streamMedia
app runProc streamMediaTest --exe=rtpTest – AUDIO_PEER 192.168.2.3

After that I install PJSIP 2.7.2 on Ubuntu, and I can hear the microphone from module to transfer to Ubuntu PC via application ./pjsip-apps/bin/samples/x86_64-unknown-linux-gnu/streamutil.
But the sound quality is not good and not clear.

Has anyone tried on WP module with Ubuntu PC for PJSIP audio streaming before?

If I remember correctly, a significant delay is expected given that the whole audio path is quite long and not optimized, even in the app itself.

But as for the audio quality, I can’t remember that being an issue. Do you mean the sound is not well define (bit rate issue?) or does it ‘cut’ from time to time?

For those who want to test streamMedia application with ubuntu PC, you can see this document: