Need Urgent help with a showstopper!!!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello list,

I am facing an issue with pjsua libraries, for which I could not find any suitable solution in the archives. I would really appreciate it if any of the experts could provide some help in resolving this issue. Because of this issue, I have not been able to play back media during call so far.

I have downloaded and built the latest version of PJSIP (1.7). After building PJSIP successfully on a compaq nx9010 laptop running Fedora 12, I tested the availability of audio devices using the auddemo application inside pjproject/pjsip-apps/bin/samples/i686-pc-linux-gnu directory path. And here is the output of auddemo application:

Found 4 devices:
  0: PA [ALI 5451: ALI 5451 (hw:0,0)] (2/2)
  1: PA [pulse] (32/32)
  2: PA [dmix] (0/2)
  3: PA [default] (32/32)

I was able to successfully playback the .wav files provided under pjproject/tests/pjsua/wavs directory path using auddemo application.

But when I tried placing a call to the SIP client application on this laptop, from another instance of the same application on another laptop, I see the following error:

 16:51:45.147  tsx0xb6306334  State changed from Trying to Proceeding, event=TX_MSG
 16:51:45.147  dlg0xb6305b2c  Transaction tsx0xb6306334 state changed to Proceeding
 16:51:45.147  inv0xb6305b2c  SDP negotiation done, status=0
 16:51:45.147   pjsua_call.c  Call 0: remote NAT type is 0 (Unknown)
 16:51:45.148 strm0xb630ce2c  VAD temporarily disabled
 16:51:45.148          rtp.c  pjmedia_rtp_session_init: ses=0xb630e6ac, default_pt=0, ssrc=0x40d84d87
 16:51:45.148          rtp.c  pjmedia_rtp_session_init: ses=0xb630ecd0, default_pt=0, ssrc=0x40d84d87
 16:51:45.149       stream.c  Stream strm0xb630ce2c created
 16:51:45.149 strm0xb630ce2c  Encoder stream started
 16:51:45.149 strm0xb630ce2c  Decoder stream started
 16:51:45.149     resample.c  resample created: high qualiy, large filter, in/out rate=8000/16000
 16:51:45.149     resample.c  resample created: high qualiy, large filter, in/out rate=16000/8000
 16:51:45.149  pjsua_media.c  Media updates, stream #0: PCMU (sendrecv)
 16:51:45.150  pjsua_media.c  Error retrieving default audio device parameters: Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV) [status=420006]
 16:51:45.150  pjsua_media.c  Error opening sound device: Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV) [status=420006]
 16:51:45.150  pjsua_media.c  Error retrieving default audio device parameters: Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV) [status=420006]
 16:51:45.150  pjsua_media.c  Error opening sound device: Unable to find default audio device (PJMEDIA_EAUD_NODEFDEV) [status=420006]

I could also see the following log during the client application startup:
16:51:35.935       pa_dev.c  PortAudio sound library initialized, status=0
16:51:35.938       pa_dev.c  PortAudio host api count=1
16:51:35.938       pa_dev.c  Sound device count=0

This is surprising , as on the same laptop I got the above output from auddemo, listing the sound devices.

To debug this further, I added the following chunk to my source code:

/* check audio device availability befor starting */
    status = pjmedia_aud_dev_lookup (audioDeviceName, audioDriverName, &audioDeviceIndex);
    if(PJ_SUCCESS != status)
    {
      pjsua_perror (__FILE__, "error locating audio device", status);
      fprintf (stderr, "exiting with failure status...\n");
      exit (EXIT_FAILURE);
    }

In the invocation of pjmedia_aud_dev_lookup (), I pass the information that I get from querying auddemo for a device listed, using which I could successfully play back a .wav file:


Enter selection: l
Found 4 devices:
  0: PA [ALI 5451: ALI 5451 (hw:0,0)] (2/2)
  1: PA [pulse] (32/32)
  2: PA [dmix] (0/2)
  3: PA [default] (32/32)

Enter selection: i 0
Device at index 0:
-------------------------
ID                  : 0 (0x0)
Name                : ALI 5451: ALI 5451 (hw:0,0)
Driver              : PA
Input channels      : 2
Output channels     : 2
Capabilities        : latency-in latency-out 
Extended formats    : 


I pass "ALI 5451: ALI 5451 (hw:0,0)" for device name and "PA" for drive name in the invocation of pjmedia_aud_dev_lookup ().

And here is the output that I get upon running the client application:

17:03:19.634    sipClient.c  error locating audio device: Not found (PJ_ENOTFOUND) [status=70006] exiting with failure status...

I am unable to figure out why there should be an error in locating the same device which had been previously listed by auddemo, using the pjmedia_aud_dev_lookup ().

Request you to kindly provide your thoughts.

TIA,
Vin






[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux