Infite loop(?) when calling pjsua_call_make_call() after receiving 480 Temporary Unavailable

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

 



Hi everyone,

I've been using PJSUA-LIB for development of an application that 
handles/generates a number of simultaneous calls. (I know, PJSUA-LIB 
might not be the best choice, but it was the easiest way to get 
something up and running quickly.)

Everything seemed to work just fine when testing against regular 
numbers, but now I've encountered something really odd.

As the subject says, it looks like as if PJSUA-LIB enters an infite loop 
when calling pjsua_call_make_call() after receiving a 480 Temporary 
Unavailable response from the carrier. CPU usage is 100% in this case. 
When I send a CANCEL before the carrier has a chance to return the 480, 
everything is allright.

When looking at the backtraces [1], it seems that the previous call 
isn't cleaned up properly (thread 3), causing the pjsua_call_make_call() 
to block (thread 11). When VAD is enabled and this situation occurs, to 
log keeps being filled with messages from the VAD, so probably the RTP 
stream isn't closed either. The backtrace seems to support this (thread 4).

Other (possibly) relevant info:
- all PJSUA-LIB calls are done from a single thread
- the threads not shown in the backtraces don't use PJSUA-LIB at all
- the machine runs FreeBSD 7.1
- I've inluded the log at level 5, but it's cut short when the problem 
occurs [2]

Anyone got any suggestions on how to fix this or why this is occuring? 
I'm probably forgetting something, but just can't figure it out!

Kind regards,

Maarten

[1] http://www.privateer-software.nl/pjsip/backtraces.txt
[2] http://www.privateer-software.nl/pjsip/log.txt

-- 
Privateer Software Development (www.privateer-software.nl)
* web usability, web accessibility, web development
* cross-platform software development



[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