Custom Query (2195 matches)
Results (2101 - 2195 of 2195)
Ticket | Summary | Owner | Type | Priority | Milestone | Component | |
---|---|---|---|---|---|---|---|
#1214 | Work on sample applications | bennylp | enhancement | normal | release-2.0-dev | applications | |
Description |
All work on the sample apps please put here. |
||||||
#1213 | Work on video devices | nanang | enhancement | normal | release-2.0-dev | pjmedia | |
Description |
This is placeholder ticket for all works related to video devices. |
||||||
#111 | Workaround for forking | bennylp | defect | major | release-0.5.10.2 | pjsip | |
Description |
Application should really handle forking dialog, but it's quite complicated to do that, so currently even pjsua-api cannot handle forked dialog. But there seems to be a simpler workaround to solve this problem. We're taking the fact that in most cases only one 2xx response will ever get back to the dialog. Several 1xx responses will get through and these will affect dialog/session state and mess around with SDP negotiation if the response carries SDP body, but this is not as fatal as having incorrect To tag recorded by the dialog. Currently the dialog takes the first To tag seen and set it as the remote tag. If the tag in 2xx response is different than this tag, ACK will be sent with wrong To tag and incoming request with this tag will be rejected with 481. The workaround for this is to take the last To tag received in the response and set it as remote tag. |
||||||
#112 | Workaround for forking | bennylp | defect | normal | release-0.7.0-rc1 | pjsip | |
Description |
This is the duplicated ticket for the main branch. See ticket #111 for details. |
||||||
#438 | Workaround for frame bursts and drifts from audio devices | nanang | enhancement | critical | release-0.9.0 | pjmedia | |
Description |
Problem 1: Audio burst: Most audio devices will call record and playback callbacks in burst, rather than in perfect interleave (for example, burst of record callbacks, followed by burst of playback callbacks, and so on). Because of this, audio buffering needs to be implemented in few pjmedia components (conference bridge, splitcomb, echo canceller, etc.), and the maximum buffering is controlled by PJMEDIA_SOUND_BUFFER_COUNT macro. This is not ideal, because:
Problem 2: Audio drifts: Somehow related to this problem, it's common for sound devices on PC to have clock drifts (see some of our test results in Audio Device Test page). Because of this drifts, the buffering mechanism above will ultimately underflow or overflow, and this will cause a clicks noise to be generated. The Solution: This ticket solves the problem in several ways:
|
||||||
#1610 | Workaround for reported crash on stun_sock's on_data_recvfrom() callback | bennylp | defect | normal | release-2.1 | pjnath | |
Description |
Crash has been reported in call to PJ_ERROR below when trying to access stun_sock->obj_name: stun_sock.c:756: /* Callback from active socket when incoming packet is received */ static pj_bool_t on_data_recvfrom(pj_activesock_t *asock, void *data, pj_size_t size, const pj_sockaddr_t *src_addr, int addr_len, pj_status_t status) { pj_stun_sock *stun_sock; pj_stun_msg_hdr *hdr; pj_uint16_t type; stun_sock = (pj_stun_sock*) pj_activesock_get_user_data(asock); /* Log socket error */ if (status != PJ_SUCCESS) { PJ_PERROR(2,(stun_sock->obj_name, status, "recvfrom() error")); return PJ_TRUE; } It is suspected that the stun_sock may no longer be valid when the callback is called, possibly because it has been destroyed. A more general synchronization fix is currently being developed, therefore this is considered as a workaround. Thank you Itay Bianco for the report. |
||||||
#1714 | Workaround for stuck in TCP/TLS shutdown when another thread is destroying the transport | bennylp | defect | normal | release-2.2 | pjsip | |
Description |
According to this report:
The proper solution for this problem is to replace the locking mechanism in the SIP transport with group lock. For now, we just implemented the workaround by checking if destroy is currently in progress as suggested above. |
||||||
#629 | Wrapping IGMPv2 multicast socket options (thanks Seth Hinze for the patch). | nanang | enhancement | normal | release-1.0-rc3 | pjlib | |
#106 | Write outside buffer in PJLIB's win32 error string | bennylp | defect | major | release-0.5.10 | pjlib | |
Description |
The PJLIB's Win32 version of platform_strerror() may write data outside the buffer (on buffer[-1] location to be precise) when the function is unable to retrieve the error string using FormatMessage function. This is caused by the function naively assumes that snprintf will never return negative value: len = pj_ansi_snprintf(buffer, bufsize, ...); buffer[len] = '\0'; |
||||||
#985 | Write to freed memory area with IoCompletionPort (IOCP) ioqueue backend may lead to application crash | bennylp | defect | normal | release-1.5.5 | pjlib | |
Description |
Using IoCompletionPort (IOCP) ioqueue backend, which is the default backend on Win32 on Release build, may lead to write access to memory area that has been freed before. This potentially could crash the application, or random memory corruption. This symptom can be detected with Visual Studio 2005 (but not with Visual Studio 6). Explanation about this bug is as follows.
|
||||||
#665 | Wrong Contact URI generated when TLS transport is used | bennylp | defect | normal | release-1.0.1 | pjsua-lib | |
Description |
There are few problems with the Contact URI generated by PJSUA-LIB when TLS transport is used:
|
||||||
#967 | Wrong Route header generation in CANCEL request with strict route | bennylp | defect | normal | release-1.5 | pjsip | |
Description |
When strict route is used in the INVITE request, the CANCEL request will be sent with wrong Route and request URI (it contains Route and request URI that are already swapped). |
||||||
#1233 | Wrong SDP media transport parsed when the media line has no format | nanang | defect | normal | release-1.10 | pjmedia | |
Description |
There are some implementations that put no format list on disabled/rejected media, e.g: m=audio 0 RTP/AVP m=audio 2000 RTP/AVP 0 The SDP parser will return RTP/AVP\nm=audio for the transport of the first SDP media. |
||||||
#1487 | Wrong SDP negotiator state if outgoing UPDATE or re-INVITE is challenged with 401 or 407 | bennylp | defect | major | release-1.14 | pjsip | |
Description |
The internal SDP negotiator state will be in bad state if outgoing UPDATE or re-INVITE containing SDP is challenged with authentication, causing subsequent SDP negotiation mismatch (such as SDP is sent in ACK, or SDP in remote's response is mistakenly treated as offer). |
||||||
#359 | Wrong Via branch generation in proxy causing the same branch value to be generated for RFC 2543 clients (thanks Helmut Wolf) | bennylp | defect | normal | release-0.8.0 | pjsip | |
Description |
In pjsip_calculate_branch_id() function in sip_util_proxy.c:335, the branch parameter for outgoing request is generated by calculating MD5 hash of the branch parameter of the incoming request. But unfortunately, the user agent being RTC, it does not conform to RFC 3261, and it leaves the branch parameter empty, causing the branch generation to always produce the same value. |
||||||
#1301 | Wrong alaw value is generated by the non-table version of pjmedia_linear2alaw() function for some specific PCM values (thanks K. Johnson for the fix) | nanang | defect | normal | release-1.12 | pjmedia | |
Description |
When the PCM signal is in the rage -7 to -1 inclusive, wrong alaw value will be generated by the non-table version of pjmedia_linear2alaw() function. Note that the table version of the function, which is the default implementation used by pjmedia, is not affected by this bug. |
||||||
#1114 | Wrong bytes_per_frame in stream port info (thanks Thomas Giesel for the report and fix) | nanang | defect | normal | release-1.8 | pjmedia | |
Description |
Currently, the bytes_per_frame in stream port info contains encoded frame size info, regardless if data flow from/to stream (via get_frame()/put_frame()) is encoded or raw data. This may cause problem as any pjmedia ports may use bytes_per_frame info, e.g: resample port uses bytes_per_frame info of down stream port to calculate dynamic buffer size, and lesser buffer size may cause buffer overrun. The original report can be found here. |
||||||
#1452 | Wrong call media state is reported if hold request is challenged with authentication (thanks Bogdan Krakowski for the fix) | bennylp | defect | normal | release-1.14 | pjsua-lib | |
Description |
Wrong call media state is reported if hold request is challenged with authentication. In this case, pjsua will report call media status as ACTIVE even if the call is successfully put on hold after the authentication retry. This is because the call's local_hold state is cleared the first time 401/407 response is received. Thanks Bogdan Krakowski for the fix. |
||||||
#1528 | Wrong definition of video format YV12 | nanang | defect | normal | release-2.0.1 | pjmedia | |
Description |
YV12 is defined as YUV planar 16bpp, while it should be YUV planar 12bpp, similar to IYUV/I420 just the U and V planes order is switched. |
||||||
#730 | Wrong jitter buffer parameters set by the stream | nanang | defect | major | release-1.1 | pjmedia | |
Description |
The stream should convert the jitter buffer parameters in the pjmedia_stream_info when calling pjmedia_jbuf_set_adaptive(). The parameters in pjmedia_stream_info are in milliseconds, while pjmedia_jbuf_set_adaptive() expect values in counts. |
||||||
#731 | Wrong jitter buffer parameters set by the stream | nanang | defect | major | release-1.0.2 | pjmedia | |
Description |
This is duplicate of ticket #730 for the 1.0.x branch. Please see ticket #730 for more info. |
||||||
#1938 | Wrong registration renewal flag info in PJSUA registration callback when unregistration fails | bennylp | defect | normal | release-2.5.5 | pjsua-lib | |
Description |
Reported that when an unregistration fails with 408, pjsua_reg_info.renew in on_reg_state2() callback is PJ_TRUE, while it should be PJ_FALSE. After investigation, it turns out that pjsua_reg_info.renew is evaluated by checking whether the current active registration interval value (of a successful registration) is non-zero. As the unregistration has just failed, the inteval value is still a possitive number, hence pjsua_reg_info.renew value in the unregistration callback is PJ_TRUE. Thanks Nadia Lapkovskaya for the report. |
||||||
#757 | Wrong selection of default candidate among host candidates | bennylp | defect | normal | release-1.2 | pjnath | |
Description |
When only host candidates are used, PJNATH may select the wrong IP interface to be used as the default candidate address. This may cause some problem with media, for example on Symbian (3rd edition MR or plain), IP 169.x.x.x is selected. The corresponding ticket for 1.0.x branch is ticket #813 |
||||||
#813 | Wrong selection of default candidate among host candidates | bennylp | defect | normal | release-1.0.3 | pjnath | |
Description |
This is duplicate of ticket #757 for the 1.0 branch. |
||||||
#696 | Wrong timestamp calculation causing RTCP clock skew (thanks Guido Fischer for the fix!) | nanang | defect | normal | release-1.1 | pjmedia | |
Description |
Quoting Guido's post on the list:
/* Calculate seconds fractions */ ts.u64 %= sess->ts_freq.u64; pj_assert(ts.u64 < sess->ts_freq.u64); ts.u64 = (ts.u64 << 32) / sess->ts_freq.u64;
/* Calculate seconds fractions */ ts.u64 = (ts.u64 - sess->ts_base.u64) % sess->ts_freq.u64; pj_assert(ts.u64 < sess->ts_freq.u64); ts.u64 = (ts.u64 << 32) / sess->ts_freq.u64;
Kudos Guido Fischer for fixing this two and half year old bug! |
||||||
#697 | Wrong timestamp calculation causing RTCP clock skew (thanks Guido Fischer for the fix!) | nanang | defect | normal | release-1.0.2 | pjmedia | |
Description |
This is duplicate of ticket #696 for the 1.0 branch. Please see ticket #696 for more info. |
||||||
#754 | Wrong timestamp increment in pjmedia clock (thanks Yann for the report) | nanang | defect | normal | release-1.0.2 | pjmedia | |
Description |
This is a duplicate of ticket #753 for 1.0 version branch. |
||||||
#753 | Wrong timestamp increment in pjmedia_clock (thanks Yann for the report) | nanang | defect | normal | release-1.1 | pjmedia | |
Description |
The report can be found here. |
||||||
#1046 | Zeroconf/link-local/ActiveSync IPv4 adress 169.254.x.x may be used on Windows Mobile devices (thanks Jan Boquist for the info) | bennylp | defect | normal | release-1.6 | pjlib | |
Description |
Windows Mobile devices when hooked to ActiveSync uses IP address 169.254.2.x for the hostname and default route (implicitly this means that this address is also returned by IP interface enumeration function). This would cause this address to be returned by PJLIB's pj_gethostip() even when there is another valid and better IP address returned by the interface enumeration function (for example, valid Wi-Fi address). |
||||||
#1653 | [incompatible] pjsua_call_update() API should not release hold | bennylp | defect | normal | release-2.2 | pjsua-lib | |
Description |
Bug in pjsua_call_update() API causes is to behave differently than pjsua_call_reinvite() in relation to call hold. With pjsua_call_update(), the default flags will cause call hold to be released, while with pjsua_call_reinvite() application has to explicitly specify PJSUA_CALL_UNHOLD to release hold. This ticket changes the behavior of pjsua_call_update() to make it behave uniformly as pjsua_call_reinvite(). Unfortunately this breaks compatibility with existing application. Now if application wants to release call hold with pjsua_call_update(), it must specify PJSUA_CALL_UNHOLD in the options argument. |
||||||
#1546 | apjsua sample application for Android | bennylp | enhancement | normal | release-2.2 | applications | |
Description |
Note: This was created in android branch and has never been ported to the trunk. This app was superseded by pjsua for android cli app. |
||||||
#1184 | aviplay.c sample application | ming | defect | normal | release-2.0-dev | applications | |
Description |
|
||||||
#1811 | contact_use_src_port and TLS server certificate verification issue (thanks to Viktor Krikun for the report) | bennylp | defect | normal | release-2.4 | pjsua-lib | |
Description |
When contact_use_src_port option (see #1677) is enabled, pjsua will try to acquire transport in order to get the source port. However, since tdata is not passed for the transport acquire, later TLS server certificate matching will be done based on the IP address, instead of remote host name. This results in server certificate verification failure. |
||||||
#1054 | iLBC codec framework for iPhone OS | nanang | enhancement | normal | release-1.7 | pjmedia | |
Description |
The iLBC codec provided by third party is very CPU-intensive on iPhone devices, so we need to implement iLBC codec framework using iPhone OS' supplied iLBC codec. |
||||||
#2116 | iLBC using memcpy instead of memmove for overlapping mem | bennylp | defect | normal | release-2.8 | third-party | |
Description |
When testing pjsip on Raspberry Pi, it is reported that some weird sound issue happen if call lasted longer than ~30s. When checked with address sanitizer tools, the output is like this: ==3210==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x6f5fd020,0x6f5fd1cc) and [0x6f5fd0c0, 0x6f5fd26c) overlap #0 0x59e37 in __interceptor_memcpy.part.36 (/home/pi/projects/sip/pjsip/simple_pjsua/simple_pjsua+0x59e37) #1 0x4dc79f in iLBC_encode ../../ilbc/iLBC_encode.c:311 #2 0x2c7693 in ilbc_codec_encode ../src/pjmedia-codec/ilbc.c:754 #3 0x3316f7 in pjmedia_codec_encode ../include/pjmedia/codec.h:1069 The issue is that iLBC sometimes uses memcpy() even when the source and the target storage overlap. This causes undefined behaviour and memmove() should be used in such cases (instead of memcpy()). Similar issue was reported at https://issues.asterisk.org/jira/browse/ASTERISK-20231. Thanks to Christian Hoff for the report and patch. |
||||||
#1873 | iOS application getting killed after pjsua fail to release a disconnected transport | bennylp | defect | normal | release-2.4.5 | pjsua-lib | |
Description |
Important: The proper fix for this ticket is available in ticket #1893, which belonged to release 2.5. This is related to #1482 point 2 (spurious wakeups problem after TCP disconnection). Scenario:
|
||||||
#1893 | iOS application getting killed after pjsua fail to release a disconnected transport | bennylp | defect | normal | release-2.5 | pjsua-lib | |
Description |
This is related to #1482 point 2 (spurious wakeups problem after TCP disconnection). Scenario:
Log: 14:14:35.020 pjsua_acc.c .Acc 2: setting registration.. 14:14:35.022 resolver.c ...Transmitting 41 bytes to NS 0 (8.8.8.8:53): DNS SRV query for _sip._tcp.sip.pjsip.org: Success 14:14:35.022 pjsua_acc.c ..Setting acc 2 reg_tp to NULL 14:14:35.022 pjsua_acc.c ..Acc 2: Registration sent ... 14:14:35.102 tcpc0x1694de14 TCP client transport created 14:14:35.103 tcpc0x1694de14 TCP transport 192.168.1.2:51801 is connecting to 208.109.222.137:5060... Which will cause this to happen: 10:51:40.669 ioq_select Attempting to replace UDP socket 4 10:51:40.671 ioq_select UDP has been replaced successfully! 10:51:40.671 resolver.c DNS resolver read error from 8.8.8.8:53: Socket is not connected 10:51:40.671 tcpc0x15b99614 TCP connection closed 10:51:40.672 pjsua_app.c SIP TCP transport is disconnected from [208.109.222.137:5060]: End of file (PJ_EEOF) [status=70016] 10:51:40.672 pjsua_acc.c Disconnected notification for transport tcpc0x15b99614 10:51:50.694 ioq_select Attempting to replace UDP socket 4 10:51:50.694 ioq_select UDP has been replaced successfully! 10:51:50.694 resolver.c DNS resolver read error from 8.8.8.8:53: Socket is not connected ... 10:52:00.707 ioq_select Attempting to replace UDP socket 4 10:52:00.708 ioq_select UDP has been replaced successfully! 10:52:00.708 resolver.c DNS resolver read error from 8.8.8.8:53: Socket is not connected [it will go on, and on, ....., and eventually, it will crash below] 10:54:00.840 ioq_select UDP has been replaced successfully! 10:54:10.843 ioq_select Attempting to replace UDP socket 4 10:54:10.845 ioq_select UDP has been replaced successfully! 10:54:10.845 resolver.c DNS resolver read error from 8.8.8.8:53: Socket is not connected 10:54:10.845 ioq_select Attempting to replace UDP socket 7 10:54:10.845 ioq_select UDP has been replaced successfully! (lldb) If the transport is released correctly, what you should be seeing in the log is: 12:58:14.836 tcpc0x153b4214 TCP connection closed 12:58:14.836 pjsua_app.c SIP TCP transport is disconnected from [208.109.222.137:5060]: End of file (PJ_EEOF) [status=70016] 12:58:14.836 pjsua_acc.c Disconnected notification for transport tcpc0x153b4214 12:58:14.847 tcpc0x153b4214 TCP transport destroyed with reason 70016: End of file (PJ_EEOF) Notice the log saying that the TCP transport has been destroyed. If such message is missing from the log, the first step is to check whether app is still holding a reference to the particular transport. |
||||||
#1757 | iOS renderer using OpenGL ES 2 | ming | enhancement | normal | release-2.3 | pjmedia-videodev | |
Description |
This ticket creates OpenGL 2 framework to be used by other platforms and provides implementation for iOS with OpenGL ES version 2. |
||||||
#2008 | iOS specific issue: Error 488 when answering call after app goes background | bennylp | defect | normal | release-2.7 | pjnath | |
Description |
Reproducing steps:
Log: 17:01:43.099 utsx0x128ac32e .....STUN client transaction created 17:01:43.099 utsx0x128ac32e .....STUN sending message (transmit count=1) 17:01:43.099 udprel0x12804f ......socket send(): Destination address required 17:01:43.099 utsx0x128ac32e ......STUN error sending message: Destination address required 17:01:43.099 stun_session.c .....tdata 0x128ac30a8 destroy request, force=0, tsx=0x128ac32ec 17:01:43.099 utsx0x128ac32e .....STUN transaction 0x128ac32ec schedule destroy 17:01:43.099 udprel0x12804f .....Error sending STUN request: Destination address required 17:01:43.099 icetp00 ....Destroying ICE session 0x1281b1828 17:01:43.099 stuse0x1281320 ....STUN session 0x128132428 destroy request, ref_cnt=25 17:01:43.099 stuse0x1280c50 ....STUN session 0x1280c5428 destroy request, ref_cnt=24 17:01:43.099 icetp00 ....ICE restart failed (status=120039)! 17:01:43.099 pjsua_media.c ....pjmedia_transport_media_start() failed for call_id 2 media 0: Destination address required TURN socket (UDP) is somehow in a bad state after a while of ringing in the background mode (see also #1107 and #1225). Unfortunately TURN socket uses only pj_activesock_send() which is not equipped with UDP socket replacement procedure (while pj_activesock_sendto() is). In this case, the attempt of sending with the bad state UDP socket fails with EDESTADDRREQ. After testing using pj_activesock_sendto(), the issue seems to disappear. Thanks Dusan Klinec for the report, the analysis and the patch (and sorry, somehow we missed the bug report). Thanks Ryan Callens for re-reporting and pointing this out. |
||||||
#1226 | iPhone (info only): No audio in calls if app is woken up from background mode without network connectivity (thanks Joe Meade for the report) | bennylp | defect | normal | release-1.10 | pjlib | |
Description |
If application is brought back from background mode while network connectivity (3G and WiFi) is down, sending UDP packets will fail with "No route to host" error. This will cause subsequent calls to have no audio, even after restoring network connectivity before establishing the call. The solution for this is to restart PJSIP once network connectivity is established. |
||||||
#1203 | iPhone OS background mode detection | bennylp | enhancement | normal | release-1.10 | pjsua-lib | |
Description |
The ability to execute code in the background is not supported on all iOS-based devices. Even devices running iOS 4 or later may not have the hardware to support multitasking. To determine whether the feature is available, we need to use the multitaskingSupported property of the UIDevice class. |
||||||
#1107 | iPhone: Add support for Apple iOS4 background feature | bennylp | enhancement | normal | release-1.8 | pjlib | |
Description |
Apple iOS4 has added new feature to put application in "background mode", where the state of the application is suspended but it's able to record&play audio and receive TCP frames. This ticket adds support for this feature. |
||||||
#1113 | iPhone: Echo cancellation may not work on iOS using SDK 4.x | nanang | defect | normal | release-1.8 | pjmedia | |
Description |
There were a couple of reports saying that echo cancellation works fine using SDK 3.x but doesn't work properly when using SDK 4.x. (on devices running iOS 3.x and 4.x). This ticket investigates whether there is a problem with EC using SDK 4.x, and if possible, finds a way to solve it. Note: using speaker mode is recommended to test the EC. |
||||||
#1194 | iPhone: Fix problems with echo cancellation and Bluetooth input (SDK 4.x) | nanang | defect | normal | release-1.10 | pjmedia-audiodev | |
Description |
When compiling using iOS SDK 4.x, the echo cancellation and support for Bluetooth input do not work properly. This is related to ticket #1113. |
||||||
#1115 | iPhone: Long delay when calling AudioConverterNew() causing timeout in acquiring pjsua lock (thanks Bogdan Krakowski the report) | nanang | defect | normal | release-1.8 | pjmedia | |
Description |
Call to AudioConverterNew() for the iLBC codec may take long time to complete, causing timeout in acquiring pjsua lock (when doing get call info on incoming call). This happens on iPhone 3GS with iOS 4.0.2 and SDK 4.0. |
||||||
#1482 | iPhone: Solution for application getting killed by iOS 5 due to too many wakeups | bennylp | defect | normal | release-1.14 | applications | |
Description |
As has been reported in http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2011-November/013692.html, iOS 5 will kill an application if it wakes up more than 15 times in 300 seconds. Below is a typical stack trace for the "crash" event: Exception Type: 00000020 Exception Codes: 0xbad22222 Highlighted Thread: 1 Application Specific Information: SBUnsuspendLimit myapp[346] exceeded 15 wakes in 300 sec There are several other discussions on the Apple's developer forum:
This ticket provides several tips that may help avoiding the situation.
|
||||||
#1225 | iPhone: UDP socket send error after waking up from background mode (thanks Joe Meade for the report) | bennylp | defect | normal | release-1.10 | pjlib | |
Description |
UDP sockets are reset by iOS when the app goes into background mode. PJLIB handles this by detecting the error when receive event is set and recreating the sockets accordingly. This feature was added by ticket #1107. Unfortunately sometimes it's the sending operation that comes first after the app is woken up, and since the UDP socket is in a bad state, this will cause the sending operation to fail. This will cause errors similar to these: 17:35:40.120 stuntsx0x9de55 STUN error sending message: Broken pipe 17:35:40.120 stuntp0x33b920 Error sending STUN request: Broken pipe 17:35:40.121 stuntp0x33b920 Session failed because STUN Binding request failed: Broken pipe 17:35:40.121 icetp00 STUN binding request failed: Broken pipe 17:35:40.121 stuntsx0xa17b5 STUN error sending message: Broken pipe 17:35:40.122 stuntp0x33af00 Error sending STUN request: Broken pipe 17:35:40.122 stuntp0x33af00 Session failed because STUN Binding request failed: Broken pipe This ticket will fix the sending error by recreating the UDP sockets if the sending operation fails after waking up from background mode. |
||||||
#1128 | ipjsua - add support for iPad | bennylp | enhancement | normal | release-1.8.5 | applications | |
Description |
Add native support for ipjsua on Ipad so that ipjsua does not need to run in compatibility mode on iPad. |
||||||
#1053 | ipjsua: pjsua for iPhone OS | bennylp | enhancement | normal | release-1.7 | applications | |
Description |
Create a GUI frontend for pjsua application on iPhone OS |
||||||
#1052 | ipjsystest: pjsystest for iPhone OS | bennylp | enhancement | normal | release-1.7 | applications | |
Description |
Create a GUI frontend for pjsystest on iPhone OS |
||||||
#1916 | onCreateMediaTransport() callback might not be called on PJSUA2 | bennylp | defect | normal | release-2.5 | pjsua2 | |
Description |
on_create_media_transport() callback can be called prior to on_incoming_call(). If this happen on PJSUA2 API, onCreateMediaTransport() will not be called since the call is not created yet. This ticket will call on_incoming_call() first when on_create_media_transport() is executed on PJSUA2 API. |
||||||
#2194 | onStreamDestroyed callback is not called upon call disconnection | ming | defect | normal | release-2.9 | pjsua2 | |
Description |
When call has been disconnected, the Call object is no longer associated with the call id. Thus, the onStreamDestroyed callback will not be called. |
||||||
#2072 | on_call_transfer_status() callback is not called when REFER is responded with failure response | bennylp | defect | normal | release-2.8 | pjsua-lib | |
Description |
Scenario: A B <-- Established call --> -------- REFER -----> <------- 4xx ------ Currently, the log will print: "Warning: received NOTIFY without message body" and the on_call_transfer_status() callback is not called. Thanks to Joshua Elliott for the report. |
||||||
#1925 | pj_getaddrinfo() cannot resolve IPv4 address to synthesized IPv6 address | bennylp | defect | normal | release-2.5.1 | pjlib | |
Description |
Currently if IP address is inputted, it will simply return back the IP address. This behaviour is introduced by ticket #458 for tackling issues on Windows Mobile with no network connection. Unfortunately, the behaviour may cause IPv4 -> IPv6 address resolution fails on Apple platforms: If your app needs to connect to an IPv4-only server without a DNS hostname, use getaddrinfo to resolve the IPv4 address literal. If the current network interface doesn’t support IPv4, but supports IPv6, NAT64, and DNS64, performing this task will result in a synthesized IPv6 address. Thanks Johan Lantz for the report. |
||||||
#150 | pj_gethostip() should fallback to default interface when 127.x.x.x is returned, not just 127.0.0.1 (thanks Andrey Kuprianov) | bennylp | enhancement | normal | release-0.5.10.2 | pjlib | |
#151 | pj_gethostip() should fallback to default interface when 127.x.x.x is returned, not just 127.0.0.1 (thanks Andrey Kuprianov) | bennylp | enhancement | normal | release-0.7.0-rc1 | pjlib | |
Description |
This is copy of ticket #150 for trunk. |
||||||
#2020 | pj_hash_calc_tolower() might return a different hash value | bennylp | defect | normal | release-2.7 | pjlib | |
Description |
Example scenario:
By default, sip_transaction.c enabled PRECALC_HASH which calculated the hash value using pj_hash_calc_lower(). char lower = (char)pj_tolower(key->ptr[i]); When setting the hash, the value was calculated using const pj_uint8_t *p = (const pj_uint8_t*)key,*end = p + keylen; hash = hash * PJ_HASH_MULTIPLIER + pj_tolower(*p); The branch/key contain %99, which will be stored as 0x99, the calculated hash value will differ. Thanks to Fredrik Hansson for the report. |
||||||
#973 | pj_ioqueue_accept() fails on Windows NT IOCP backend if connection is immediately available and the "local" parameter is NULL (thanks John Ridges for the report) | bennylp | defect | normal | release-1.5 | pjlib | |
Description |
This is because pj_getsockname() is called without checking first if the "local" parameter is specified. |
||||||
#144 | pj_ioqueue_poll() blocks forever because of invalid timeout value (thanks Igor S) | bennylp | defect | major | release-0.5.10.2 | pjsip | |
Description |
On Linux, when pjsip_endpt_handle_events() is given NULL as the timeout parameter, it will cause pj_ioqueue_poll() to block forever even when there is incoming packet on the socket. This happens because select() is given a large or probably negative usec value in timeval argument. Thanks Igor S for spotting the problem. |
||||||
#145 | pj_ioqueue_poll() blocks forever because of invalid timeout value (thanks Igor S) | bennylp | defect | major | release-0.7.0-rc1 | pjsip | |
Description |
This is copy of ticket #144 for trunk. |
||||||
#1513 | pj_pool_safe_release() API | bennylp | enhancement | normal | release-2.6 | pjlib | |
Description |
The common pattern to release pool: pj_pool_t *tmp_pool = obj->pool; obj->pool = NULL; pj_pool_release(tmp_pool); should go into an API: pj_pool_safe_release(pj_pool_t **p_pool); Thanks Bogdan Krakowski for suggestion. |
||||||
#440 | pj_timer_entry_init() doesn't initialize timer ID | bennylp | defect | normal | release-0.9.0 | pjlib | |
Description |
See the discussion in http://www.pjsip.org/pipermail/pjsip/2007-August/004183.html |
||||||
#890 | pjlib-test failed on select() test Windows Vista multi-core | bennylp | defect | normal | release-1.3 | unit-tests | |
Description |
Error log: pjlib-test error: 19:24:28.914 Running select_test()... 19:24:28.916 ...Testing simple UDP select() 19:24:28.917 ..ERROR(-70) The select() returns immediately with *only* write-fdset is set (while the test also expects that read-fdset is set). So perhaps it is just that the system hasn't got time/context to deliver the packet, since select(), with write-fdset included, is called directly after sendto(). Experiments:
The corresponding ticket for 1.0.x is #908 |
||||||
#908 | pjlib-test failed on select() test Windows Vista multi-core | bennylp | defect | normal | release-1.0.3 | unit-tests | |
Description |
This is a duplicate of ticket #890 for 1.0.x branch |
||||||
#893 | pjlib-test failed on timer heap test on Symbian S60 3rd Edition MR | bennylp | defect | normal | release-1.3 | unit-tests | |
Description |
Test log: pjlib-test (exception and pool tests are disabled), error: 01:04:12.744 Running timer_test()... 01:04:22.615 ERROR: 27 timers left 01:04:22.629 ..ERROR(1) (after few more tries, timer test always failed, timer left was around 30) The corresponding ticket for 1.0.x branch is #900 |
||||||
#900 | pjlib-test failed on timer heap test on Symbian S60 3rd Edition MR | bennylp | defect | normal | release-1.0.3 | unit-tests | |
Description |
This is duplicate of ticket #893 for 1.0.x branch |
||||||
#891 | pjlib-test failed with "Bus Error" on MacOS X | bennylp | defect | normal | release-1.3 | unit-tests | |
Description |
QA report: only run pjlib-test, found problem: first run: --- 23:32:28.571 Running udp_ioqueue_unreg_test()... 23:32:28.571 ..testing with concurency=1 23:32:28.571 ...ioqueue unregister stress test 0/3 (select) 23:32:29.587 ....repeat 0/10: done (210 KB/s) 23:32:30.613 ....repeat 1/10: done (207 KB/s) 23:32:31.640 ....repeat 2/10: done (207 KB/s) 23:32:32.657 ....repeat 3/10: done (209 KB/s) 23:32:33.682 ....repeat 4/10: done (206 KB/s) 23:32:34.709 ....repeat 5/10: done (206 KB/s) 23:32:35.720 ....repeat 6/10: done (213 KB/s) 23:32:36.731 ....repeat 7/10: done (209 KB/s) Bus error --- second try, it seemed to stuck (more than 12 minutes) at: --- 23:36:14.558 Running udp_ioqueue_unreg_test()... .... 23:36:55.235 ..testing with concurency=0 23:36:55.235 ...ioqueue unregister stress test 0/3 (select) 23:36:56.262 ....repeat 0/10: done (207 KB/s) 23:36:57.272 ....repeat 1/10: done (207 KB/s) ---- third try, error (same as first try) 23:52:39.335 Running udp_ioqueue_unreg_test()... 23:52:39.335 ..testing with concurency=1 23:52:39.335 ...ioqueue unregister stress test 0/3 (select) 23:52:40.363 ....repeat 0/10: done (207 KB/s) 23:52:41.373 ....repeat 1/10: done (209 KB/s) 23:52:42.390 ....repeat 2/10: done (208 KB/s) 23:52:43.406 ....repeat 3/10: done (207 KB/s) 23:52:44.423 ....repeat 4/10: done (206 KB/s) 23:52:45.432 ....repeat 5/10: done (209 KB/s) 23:52:46.440 ....repeat 6/10: done (209 KB/s) 23:52:47.450 ....repeat 7/10: done (208 KB/s) Bus error The corresponding ticket for 1.0.x is #899 |
||||||
#899 | pjlib-test failed with "Bus Error" on MacOS X | bennylp | defect | normal | release-1.0.3 | unit-tests | |
Description |
This is duplicate of #891 for 1.0 branch |
||||||
#895 | pjmedia-test crashes due to unable to find jbtest.dat | nanang | defect | normal | release-1.3 | pjmedia | |
#459 | pjmedia_clock_create() should not create thread when PJMEDIA_CLOCK_NO_ASYNC is given (thanks Alberto Takeshi Mayama) | bennylp | defect | normal | release-0.9.0 | pjmedia | |
Description |
Creating pjmedia_clock always create background thread, regardless the PJMEDIA_CLOCK_NO_ASYNC options set or not. |
||||||
#1295 | pjmedia_codec_encode() instead of codec->encode | nanang | enhancement | minor | release-2.0-alpha | pjmedia | |
Description |
A thin wrapper for codec operations to make the API slightly cleaner. |
||||||
#1100 | pjmedia_stream_modify() API | nanang | enhancement | normal | release-2.x | pjmedia | |
Description |
to save:
|
||||||
#1275 | pjmedia_vid_subsys_xx() (videodev) is not a good name | ming | defect | minor | release-2.0-alpha | pjmedia-videodev | |
#892 | pjnath-test error on test vector validation on Windows XP | bennylp | defect | normal | release-1.3 | unit-tests | |
Description |
Log: pjnath-test error (tried few times, same errors): 21:55:11.891 draft-denis-behave-rfc3489bis-test-vectors-02 21:55:11.891 Running test 0/3 21:55:11.891 Running test 1/3 21:55:11.891 Running test 2/3 21:55:11.891 Message mismatch at byte 42 21:55:11.891 ..ERROR(-1060) |
||||||
#894 | pjnath-test failed on ICE test when the host has three or more network adapters | bennylp | defect | normal | release-1.3 | unit-tests | |
Description |
Test log: pjnath: 14:22:57.065 Running ice_test()... 14:22:57.065 Basic with host candidates 14:22:58.186 Basic with host candidates, 4 components 14:22:58.199 err: pj_ice_strans_start_ice(): [pj_status_t=70010] Too many objects of the specified type (PJ_ETOOMANY) 14:22:58.699 ..ERROR(-120) |
||||||
#704 | pjsip-test: "Bus error" on FreeBSD due to declaration of test data in read-only segment (thanks Michael Broughton for the report) | bennylp | defect | normal | release-1.1 | unit-tests | |
Description |
PJSIP tries to unescape the SIP message component that is declared by the test program in read-only segment, causing bus-error and core dump. Thanks Michael Broughton for the report. |
||||||
#705 | pjsip-test: "Bus error" on FreeBSD due to declaration of test data in read-only segment (thanks Michael Broughton for the report) | bennylp | defect | normal | release-1.0.2 | unit-tests | |
Description |
This is duplicate of ticket #704 for the 1.0 branch. |
||||||
#104 | pjsip_ctype_hdr_clone() doesn't duplicate media subtype | bennylp | defect | major | release-0.5.10 | pjsip | |
Description |
The pjsip_ctype_hdr_clone() doesn't duplicate the media subtype. Thanks Igor S for reporting. |
||||||
#36 | pjsip_regc_unregister SHOULD NOT unregister all Contacts | bennylp | defect | normal | release-0.5.10 | pjsip | |
Description |
Currently the unregistration function in PJSIP client registration (pjsip_regc_unregister()) sends REGISTER with Expires=0 for all contacts including those that are registered by other endpoints (because Contact header is set to "*"). This is not the correct behavior since it prevents more than one AOR to be registered. The correct behavior should be for pjsip_regc_unregister() to unregister only contact(s) that was registered by this endpoint only. |
||||||
#425 | pjstun_get_mapped_addr() failed when receiving incoming SIP request (thanks Lafras Henning) | bennylp | defect | normal | release-0.9.0 | pjlib-util | |
Description |
pjstun_get_mapped_addr() is the function to resolve the mapped STUN address for given sockets. This is an old/simple STUN implementation in pjlib-util, and is different than the STUN implementation in pjnath. When pjstun_get_mapped_addr() is called to resolve local SIP socket, and when at the same time other SIP endpoint sends SIP request to pjsip, this function will fail with WSAEMSGSIZE error, because the SIP request is larger than the expected STUN response. |
||||||
#1655 | pjsua app using CLI framework | bennylp | enhancement | normal | release-2.2 | applications | |
Description |
A new pjsua application with command line interface (CLI) framework. This one application will be able to run on ALL platforms. |
||||||
#1723 | pjsua2 branch integration | bennylp | enhancement | normal | release-2.2 | common | |
Description |
Integrate pjsua2 works on SVN pjsua2 branch into SVN trunk. |
||||||
#1519 | pjsua2: New high level API in C++ on top of PJSUA-LIB | bennylp | enhancement | normal | release-2.2 | pjsua-lib | |
Description |
A new object oriented (C++) API on top of PJSUA-LIB. Currently lives in pjsua2 branch. |
||||||
#1801 | pjsua_acc_modify() should return error when it fails in initiating re-registration | bennylp | defect | normal | release-2.4 | pjsua-lib | |
Description |
A sample case is when modifying SIP account ID with very long ID, pjsua_acc_modify() will try to re-register the account, however the re-registration initiation fails: Unable to generate suitable Contact header for registration: Size is too short (PJ_ETOOSMALL) [status=70019] Unable to create registration: Size is too short (PJ_ETOOSMALL) [status=70019] while pjsua_acc_modify() still returning PJ_SUCCESS. Thanks Alexander Fatyanov for the report. |
||||||
#1461 | pjsua_call_make_call: assertion failure when rapidly making calls | bennylp | defect | normal | release-2.0-rc | pjsua-lib | |
Description |
When user makes calls pretty rapidly, he will get:
The problem happens because if a call hasn't created an invite session, its call id can still be allocated to another call. |
||||||
#1484 | pjsua_modify_acc() does not apply registration timeout/expire setting update (thanks Samuel Vinson for the report) | bennylp | defect | normal | release-1.14 | pjsua-lib | |
Description |
Issues reported:
Original report can be found here. |
||||||
#84 | pjsua_transport_close() doesn't properly close transports (especially TLS) | bennylp | defect | normal | release-0.5.10 | pjsip | |
Description |
The pjsua_transport_close() function in PJSUA-API doesn't handle TLS transport case. Thanks Alain Totouom <alain.totouom at gmx de> for reporting this. |
||||||
#1507 | pjsua_transport_get_info() not support TLS (thanks Gustavo Garcia Bernardo for the patch) | bennylp | defect | normal | release-1.14.2 | pjsua-lib | |
Description |
Reported that the implementation doesn't support SIP TLS transport (PJ_EINVALIDOP is returned and it may trigger assertion). This is specially needed as pjsua_transport_get_info() is automatically invoked when creating the transport using the python wrapper. Original report+patch can be found here. |
||||||
#561 | select() ioqueue default concurrency setting is not initialized with the default value | bennylp | defect | minor | release-1.0-rc1 | pjlib | |
Description |
The ioqueue->default_concurrency (boolean) is never initialized for socket ioqueue. This shouldn't be a major problem, since if application wants to explicitly disable concurrency it will set the setting manually. |
||||||
#972 | setsockopt options compatibility on various platforms (thanks Yann, John Ridges, and Dan Arrhenius for the reports) | bennylp | defect | normal | release-1.5 | pjlib | |
Description |
Some problems were reported on Windows platforms on various PJ_SOL_xxx constants that is used by pj_setsockopt() and pj_getsockopt() functions:
|
||||||
#1373 | sipecho Testing Application | bennylp | enhancement | normal | release-2.0-alpha2 | applications | |
Description |
sipecho application loops back peer's media (audio and/or video), and supports call hold too. It also works as a simple registrar, if peer needs it. |
||||||
#32 | sndtest sample doesn't display the device name correctly | bennylp | defect | minor | release-0.5.10 | applications | |
Description |
When -1 is specified as device ID, sndtest will correctly select the default device on the platform but it doesn't display the correct device in the log. |
||||||
#1355 | vidgui: new rendering window may cause all rendering processes to stop | nanang | defect | normal | release-2.0-rc | applications | |
Description |
When a new render window (either preview or stream) is created and currently another render window is active, sometime both rendering processes got stuck. After manually resizing main window, all rendering processes continue normally. The problem only occurred on Windows, Mac is unaffected. |
||||||
#1354 | vidgui: stopping preview may hide main/parent window | ming | defect | normal | release-2.0-alpha | applications | |
Description |
Stopping capture preview may cause main window to get hidden unexpectedly. Reported to happen on Mac only. |
||||||
#1182 | vstream (video stream) implementation and sample | nanang | enhancement | normal | release-2.0-dev | pjmedia | |
Description |
There is already video stream implementation in the stream.c and sample in the vstreamutil.c, however it's just proof-of-concept version, so the to do/consider list will be:
|