Hello, Upon further debugging this issue, I have concluded that on the same system, two totally different values are returned by the APIs pjmedia_aud_dev_count () and pjmedia_aud_dev_lookup(), in the case of the sample application auddemo and in the case of my application. Reproducing the output from auddemo on the system: Enter selection: l Found 5 devices: 0: ALSA [plughw:0,0] (1/1) 1: PA [ALI 5451: ALI 5451 (hw:0,0)] (2/2) 2: PA [pulse] (32/32) 3: PA [dmix] (0/2) 4: PA [default] (32/32) The above output comes from the function list_devices: static void list_devices(void) { unsigned i; pj_status_t status; dev_count = pjmedia_aud_dev_count(); if (dev_count == 0) { PJ_LOG(3,(THIS_FILE, "No devices found")); return; } PJ_LOG(3,(THIS_FILE, "Found %d devices:", dev_count)); for (i=0; i<dev_count; ++i) { pjmedia_aud_dev_info info; status = pjmedia_aud_dev_get_info(i, &info); if (status != PJ_SUCCESS) continue; PJ_LOG(3,(THIS_FILE," %2d: %s [%s] (%d/%d)", i, info.driver, info.name, info.input_count, info.output_count)); } } Apparently pjmedia_aud_dev_count () API returns a non-zero value. Also, pjmedia_aud_dev_get_info() returns PJ_SUCCESS. Now, here is the code snippet from my application: /* check audio device availability befor starting */ numAudioDevices = pjmedia_aud_dev_count (); PJ_LOG(3, ("sipClient.c", "Number of Audio Devices : %d", numAudioDevices)); And here is the output I get on the same system: 19:54:08.876 sipClient.c Number of Audio Devices : 0 Apparently, the API pjmedia_aud_dev_count () returns 0 I am not sure how this could be the case on the same system. I would greatly appreciate your inputs to resolve this issue. TIA Vin