Commit Graph

1383 Commits

Author SHA1 Message Date
Nanang Izzuddin cd2bfbacd3 Re #1474: merged r4039
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4040 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-12 08:10:06 +00:00
Benny Prijono 3abc757586 Re #1474: merged r4031-r4037
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4038 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-11 10:01:00 +00:00
Nanang Izzuddin 03f7c10e35 Misc (Re #1446): limit pjsua_vid_codec_get/set_param() search domain to only codecs with RTP packetizations.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4028 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-05 08:41:20 +00:00
Benny Prijono 2e727e8f70 Fixed #1478: AVI player virtual device. Initial spec:
- Currently only Works with raw video and audio AVI files
 - Added --play-avi and --auto-play-avi options in pjsua
 - No A/V synchronization yet


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4016 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-04 05:05:50 +00:00
Nanang Izzuddin 2ec3222cb5 Close #1479: Applied RTCP related enhancements (#1268 & #1440) into video stream.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4012 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-03 10:10:11 +00:00
Nanang Izzuddin 1dc6d21fb7 Misc (re #1446): fixed log message in pjsua_media_channel_update() for pjsua_vid_channel_update() failure.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4011 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-03 08:02:12 +00:00
Benny Prijono 161e6918dd Re #1446: removed the obsolete but misleading sip_transport_tls_ossl.c file
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4005 74dad513-b988-da41-8d7b-12977e46ad98
2012-04-02 08:33:06 +00:00
Benny Prijono 79fdc88867 Re #1474: merged r3879:3885
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4001 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30 07:53:36 +00:00
Nanang Izzuddin a62931906b Misc (re #1446): Fixed compile warnings on VS2005.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4000 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30 07:41:56 +00:00
Benny Prijono 28d3c56283 Re #1474: Merged all changes from 1.12 - HEAD (from the 1.x branch)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3999 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30 07:10:13 +00:00
Sauw Ming 4f82c4d8b3 Re #1446 (misc fix): Fix call info to display correct invite state
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3996 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-30 06:18:50 +00:00
Benny Prijono b8dfe8969b Misc (re #1446): prevent on_call_state() callback from being called before on_incoming_call() callback is called
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3990 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-28 09:05:34 +00:00
Nanang Izzuddin 2565aec098 Re #1463 (3rd party media support): fixed VS2005 project setting for newly added files (pjmedia/stream_info.c, pjmedia/vid_stream_info.c, pjsua-lib/pjsua_aud.c).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3985 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-22 11:26:59 +00:00
Benny Prijono 1312e75c9e Re: #1463 (Third party media support). Tnitial work and it works, tested on Linux. Details:
* add PJSUA_MEDIA_HAS_PJMEDIA macro
 * move pjmedia specific implementation in pjsua_media.c and pjsua_call.c into pjsua_aud.c
 * add pjsip-apps/src/third_party_media sample containing:
    - alt_pjsua_aud.c
    - alt_pjsua_vid.c
 * moved pjmedia_vid_stream_info_from_sdp() into pjmedia/vid_stream_info.c
 * moved pjmedia_stream_info_from_sdp() into pjmedia/stream_info.c
 * misc: fixed mips_test.c if codecs are disabled



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3982 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-22 09:56:52 +00:00
Nanang Izzuddin c1a8073686 Re #1467: fix sound device (opened/closed) status check in check_snd_dev_idle(), especially when sound device is managed by app (no_snd = PJ_TRUE). Note that pjsua_media_subsys_destroy() always close the sound device first, so check_snd_dev_idle() in pjsua_destroy() sequence should have been just a no-operation.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3981 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-22 03:29:56 +00:00
Sauw Ming 6709be60a4 Fixed #1461: pjsua_call_make_call: assertion failure when rapidly making calls
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3966 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-07 03:09:33 +00:00
Nanang Izzuddin 6afaa867c7 Fix #1459: returned back the old/1.x way of controlling dialog lifetime in pjsua_call_make_call().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3965 74dad513-b988-da41-8d7b-12977e46ad98
2012-03-06 07:39:04 +00:00
Nanang Izzuddin 641d087334 Fix #1453:
- Add and manage pool instance in default codec param in video codec framework.
 - API change: pool param is removed from pjmedia_vid_codec_mgr_set_default_param().




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3956 74dad513-b988-da41-8d7b-12977e46ad98
2012-02-21 08:31:26 +00:00
Nanang Izzuddin 2f29635315 Re #1244: Added bandwidth info in SDP ("b=" lines) based on codec bitrate settings. Two SDP bandwidth types/modifiers are used: AS in session level & TIAS in media level.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3945 74dad513-b988-da41-8d7b-12977e46ad98
2012-01-27 09:12:59 +00:00
Nanang Izzuddin 8cbc8a5a99 Fix #1444: always connect video capture port to video tee, even when the capture port has native preview, as a capture port can be used simultaneously by multiple streams (not only used by non-native preview renderer).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3940 74dad513-b988-da41-8d7b-12977e46ad98
2012-01-11 05:30:55 +00:00
Sauw Ming 2a89923ccf Fixes #1442: Unable to make call if disabled media is included
Add an API pjsua_schedule_timer2() to allow application to schedule a callback function to be executed after a specified time interval. This enables app to post a delayed job which, in this case, allows the initialization of all media transport creations to finish first before we get the media transport creations result.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3938 74dad513-b988-da41-8d7b-12977e46ad98
2012-01-09 11:51:56 +00:00
Nanang Izzuddin 1c565420bf Fix #1433: synchronuous ICE initialization calls PJSUA_UNLOCK() only when the PJSUA lock is actually held by this thread.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3929 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-28 09:52:07 +00:00
Nanang Izzuddin 53966c0bc2 Close #1434: Added PJSUA_LOCK_IS_LOCKED().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3928 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-28 09:49:24 +00:00
Benny Prijono ae86e6ad00 More re #1419: changed field names from video_count to vid_cnt and audio_cnt to aud_cnt for better consistency
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3925 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-27 12:47:52 +00:00
Benny Prijono 0ec6cfbb9b Re #1393 (misc): renamed label on_error to on_return and fixed warning re constness
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3921 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-26 09:00:42 +00:00
Benny Prijono 1787c1c1c5 Re #1234: increase default interval between two INFOs from 500 to 3000 ms
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3920 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-26 08:57:05 +00:00
Sauw Ming 9c2de5c758 Re #1430: Fixed crash when STUN & ICE is off
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3919 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-23 03:07:33 +00:00
Sauw Ming 9d3021ff18 Fixed #1430: Crash when dialog is prematurely destroyed during outgoing call.
We do this by temporarily incrementing dialog session until the invite session is created.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3918 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-20 10:27:39 +00:00
Nanang Izzuddin 0c2aab7168 Fix #1425:
- Updating port info of the switchboard master port (after reopening audio device) with the audio device param should care about PJMEDIA_AUD_DEV_CAP_EXT_FORMAT flag, i.e: only copy from audio device extended format info when the flag is set.
 - Fixed switchboard to update the master port info shortcut in connecting ports, as master port info may get updated to match to the connecting ports.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3915 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-20 09:52:19 +00:00
Nanang Izzuddin 393edda96c Fix #1427: added check if video_cnt in call option should be increased while trying to enable a video stream.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3912 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-15 10:11:51 +00:00
Nanang Izzuddin 5be47c781a Misc (re #1393): fix compile error in pjsua_media.c (undefined member 'bitrate' in struct 'pjmedia_format') when using passthrough codec.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3909 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-15 06:27:07 +00:00
Nanang Izzuddin 4506dd6fd0 Close #1424: Added new pjsua callback: on_call_rx_offer().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3908 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-13 04:59:15 +00:00
Sauw Ming 7a9b75614e Re #1420: Create a pool for the event manager so subscriber doesn't need to supply its own pool.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3905 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-09 05:15:39 +00:00
Nanang Izzuddin 0409a3db7e Re #1419: updated call transfer to allow both the transferee and the transfer destination to update the current call setting:
- for transferee (attended & unattended): via new PJSUA-LIB callback on_call_transfer_request2()
 - for transfer destination (attended only): via new PJSUA-LIB callback on_call_replace_request2()




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3903 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-08 08:18:02 +00:00
Nanang Izzuddin 3da4ad8f85 Re #1234: Initial version of keyframe request/response via SIP INFO.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3901 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-07 10:43:28 +00:00
Sauw Ming 0fabe1bbb6 Closed #1420: Add support for event manager
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3893 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01 10:49:07 +00:00
Nanang Izzuddin 3d7385c7f9 Misc (re #1393): fix linking error "app_config_init_video() not found" when video is disabled, also some compile warnings (unused variables).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3892 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01 10:02:54 +00:00
Nanang Izzuddin debd48ae0b Re #1419, implement media count manipulation per call basis:
- moved the media count setting from account setting to call setting
 - introduced pjsua_call_setting, to be used by pjsua_call_make_call() and some new APIs: pjsua_call_answer2(), pjsua_call_reinvite2(), pjsua_call_update2() 




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3891 74dad513-b988-da41-8d7b-12977e46ad98
2011-12-01 09:06:14 +00:00
Benny Prijono 58366a0985 Missing video component deinitialization caused assertion when the stack is restarted. Thanks Régis Montoya for the report (re #1393)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3887 74dad513-b988-da41-8d7b-12977e46ad98
2011-11-17 14:25:26 +00:00
Sauw Ming 7e4feae4b3 Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunk
* Backport of r3833:r3877



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3878 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-31 10:31:23 +00:00
Benny Prijono 20eb7277ca Misc (re #13930; added info about ICE candidates being used (both local and remote) in pjsua dump call output
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3870 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-28 04:10:00 +00:00
Benny Prijono f9ea1a0d35 Re #1393 (misc): remove unnecessary call to start preview renderer in video update
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3866 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-27 07:11:37 +00:00
Nanang Izzuddin cfa312c830 Close #1403: Fixed pjsua-lib in generating re-offer when the current session contains (disabled) unknown media types.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3865 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-26 16:57:05 +00:00
Sauw Ming 0ee072f2e3 Fixed #1401: Add support for video device's window flags
Now support flags PJMEDIA_VID_DEV_WND_BORDER and PJMEDIA_VID_DEV_WND_RESIZABLE.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3864 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-26 09:01:53 +00:00
Benny Prijono 7eff5ef941 Fixed #1402: crash when adding new media
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3860 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-26 06:53:30 +00:00
Benny Prijono db5d89dd63 Fixed call_med->rtp_addr is not initialized causing UPDATE to be sent after every ICE negotiation (misc re #1392)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3858 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-25 13:39:06 +00:00
Nanang Izzuddin 46977e7dd9 Misc (re #1393): cosmetic in call dump, missing '=' char in avg bitrate in TX :)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3857 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-25 13:17:19 +00:00
Benny Prijono d3de2a8d6f Re #1400: enhancements to video operations in pjsua application
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3850 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-25 09:35:11 +00:00
Sauw Ming c8e1294615 Fixed #1398: TURN initialization failure scenario
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3849 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-25 08:51:02 +00:00
Sauw Ming e7dbbc8f30 Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunk
* Backport of r3557:r3832

TODO: ticket #1268 (Option for automatic/manual sending of RTCP SDES/BYE for the stream) for video stream.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3841 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-24 09:28:13 +00:00
Nanang Izzuddin 16653df172 Re #1300: Implemented symmetric payload type in generating SDP answer in SDP negotiator.
This should work for all codecs, audio & video. Can be disabled at compile-time
using PJMEDIA_SDP_NEG_REWRITE_ANSWER_PT macro setting.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3837 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-23 06:59:48 +00:00
Benny Prijono 65030232bd Misc (re #1370): fixed change video capture device for a call implementation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3799 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-06 07:37:46 +00:00
Sauw Ming 3a55bb9818 Re #1266:
* Make sure that all media transports are already created and completed to fix the assertion when making call using ICE.

 * Change the callback pjsua_med_tp_state_cb to return pj_status_t (instead of void)



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3796 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-06 06:49:09 +00:00
Benny Prijono eb66398e22 Misc (re #1370): calling pjmedia_vid_port_start() more than once had caused freezing capture video if preview is enabled before making video calls
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3793 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-06 06:05:36 +00:00
Nanang Izzuddin a5964e7bb4 Misc (re #1370): minor fix compile warning on VS2005 about comparison between int & unsigned int.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3790 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-06 05:39:18 +00:00
Benny Prijono 86e9162900 Fixed missing updating of call_med's cap_dev after fast switching (re #1362)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3788 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-04 13:49:40 +00:00
Benny Prijono 10ff56e0a2 More re #1362: actually try to use the device switching capability in pjsua-lib, in pjsua_call_set_vid_strm(PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV) operation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3787 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-04 13:35:41 +00:00
Benny Prijono 83a9eaf5cb Added pjsua_call_vid_stream_is_running() and pjmedia_vid_stream_is_running() API (closes #1379)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3786 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-04 08:23:07 +00:00
Benny Prijono 22cce53b9e Misc (re #1370): minor fix in pjsua_vid_preview_get_win() documentation which said it will return NULL instead of PJSUA_INVALID_ID if the window is not created for the device
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3784 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-04 04:03:49 +00:00
Sauw Ming 903154fe62 Re #1266: Modified pjsua_media_channel_deinit() to resume deinit in the callback (instead of returning PJ_EBUSY) and make sure the right transport is used before calling dlg_respond()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3780 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-03 08:22:48 +00:00
Nanang Izzuddin c12a19db8f Fix #1358:
- Fixed wrong place of video capture & render event subscription initialization, causing it getting reinitted while being subscribed.
 - Moved capture/render event unsubscription to be after capture/render port stopped. Also restart the capturer (after being stopped for unsubsciption & stream detachment) only when the capturer is being used by other, e.g: stream or preview.
 - Fixed error handling in pjsua_call_reinvite(), call pjsip_dlg_dec_lock() only if dlg is successfully acquired.
 - Minor: added [un]subscribtion log to event.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3778 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-03 05:23:59 +00:00
Sauw Ming ec76535df6 Closed #1266:
Handle incoming calls when media transport is created asynchronously. 



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3777 74dad513-b988-da41-8d7b-12977e46ad98
2011-10-03 02:04:36 +00:00
Benny Prijono 8468557014 Closed #1361: codec API change. Details:
- changed encode(), packetize(), unpacketize(), and decode() to encode_begin(), encode_more(), and decode()
 - codec has new "packing" setting
 - updated stream, aviplay, codec-test, and stream-util due to above
 - minor doxygen documentation fixes here and there


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3776 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-29 08:31:15 +00:00
Sauw Ming 848742fe2c Re #1266: Fixed failed automated tests for ICE
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3775 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-28 04:20:30 +00:00
Nanang Izzuddin e9b279b896 Close #1360: implementated video orientation (currently only for video devices).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3774 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-27 05:24:06 +00:00
Nanang Izzuddin ca35618965 Closes #1377: fixed video stream cleanup to reset back cap_win_id & rdr_win_id value to PJSUA_INVALID_ID after capture/render device released from the call stream.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3772 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-23 04:00:27 +00:00
Sauw Ming 99cc8ff102 Re #1266: Fixed crash when accepting incoming call.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3767 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-22 04:24:56 +00:00
Sauw Ming 96cabacfeb Re #1266: Fixed build error in non-Windows platform.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3764 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-21 11:21:33 +00:00
Sauw Ming 73ecfe861e Re #1266: Asynchronous media transport creation
* Add feature that allows ICE media transport to be created asynchronously.

 * Add new callback, e.g. on_call_media_transport_state(call_id, state_struct) to report media transport status.

 * Handle outgoing calls while creating media transport asynchronously.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3763 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-21 10:20:01 +00:00
Benny Prijono 39203b8824 Related to preview (re #1340): handle problems with starting or stopping preview during a call
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3758 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-20 10:07:55 +00:00
Benny Prijono aa15fbb598 Implemented native video preview support. This closes #1340
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3756 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-19 08:26:35 +00:00
Benny Prijono b90fd3879d Modified the libraries to use the new log indentation feature re #1372
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3753 74dad513-b988-da41-8d7b-12977e46ad98
2011-09-18 14:59:56 +00:00
Benny Prijono 6565b5834c Fixed #1357: temporarily disabled event in pjsua due to crashing
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3737 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-29 09:54:02 +00:00
Benny Prijono a0dbe05e48 Fixed crash when call is disconnected while video is not fully running (e.g. ICE negotiation failed). [Re #1263]
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3732 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-29 04:16:14 +00:00
Nanang Izzuddin 15ad7f2399 Fixed #1352:
- Updated maximum video tee ports in pjsua video preview to (PJSUA_MAX_CALLS+1).
 - Removed video tee maximum ports compile-time setting, MAX_DST_PORT_COUNT.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3725 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-26 04:19:04 +00:00
Benny Prijono 2047bd7c8f Re #1351: option to initially hide video preview window to avoid floating window. Also added pjsua_vid_preview_param_default()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3724 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-25 11:59:39 +00:00
Nanang Izzuddin d8c33d8435 Re #1347: Fixed case 1, 2, and 3 above:
- Generating a deactivated pre-answer media by cloning remote media. There was a case that the media transport in the offer is bad/unrecognized, PJSUA still generated the preanswer with RTP/AVP.
 - When generating answer, it should apply max media count (max_audio/video_cnt in account setting) after SDP negotiation instead of in the pjsua_media_channel_init()). This will require PJSUA to perform SDP re-negotiation when the SDP answer get changed.
 - Fixed media priority/acceptibility sorting, e.g: media with RTP/SAVP transport still got acceptable score in SRTP disabled mode, this messed up the algorithm of applying max media count setting.
 - Fixed SDP negotiator to skip format match in generating answer when the pre-answer provided is deactivated (port 0).




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3714 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-18 18:30:55 +00:00
Benny Prijono e212bc1068 Re #1263 (Video API):
- Added PJSUA_CALL_VID_STRM_NO_OP to occupy value 0 for the enum
 - Added pjsua_call_vid_strm_op_param_default() to initialize pjsua_call_vid_strm_op_param
 - Renamed pjsua_call_get_transport_info() to pjsua_call_get_med_transport_info()



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3694 74dad513-b988-da41-8d7b-12977e46ad98
2011-08-15 09:38:42 +00:00
Benny Prijono 4426153088 Re #1263 (PJSUA-LIB video API): added doxygen comments on stream_op values
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3685 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-26 08:48:48 +00:00
Nanang Izzuddin db9b0028ae Close #1339: added renderer device ID info into video window info.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3684 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-26 08:17:25 +00:00
Nanang Izzuddin e7acf22453 Fix #1338: Updated pjsua_modify_acc() to handle the new account config fields: max_audio_cnt, max_video_cnt, vid_in_auto_show, vid_out_auto_transmit, vid_cap_dev, vid_rend_dev.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3683 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-26 08:10:29 +00:00
Benny Prijono 7df1934fb5 Misc (re #1320): fixed compilation error if SRTP is disabled. Thanks Bo Shi for the report
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3678 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-23 02:54:03 +00:00
Nanang Izzuddin 6e2fcc3aea Re #1332: Added type definition of video window handle.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3675 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-22 04:49:36 +00:00
Perry Ismangil c2f2e5550c Re #1254 Doxygen configuration and makefile changes to support version specific documentation
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3669 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19 21:42:58 +00:00
Nanang Izzuddin 63b3c13cd2 Fixed #1271: protected all video features with PJMEDIA_HAS_VIDEO macro setting.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3667 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19 11:11:07 +00:00
Nanang Izzuddin d93c68a997 Re #1326:
- Fixed compile warnings on vs2005
 - Fixed compile error when PJMEDIA_HAS_VIDEO set to 0 on vs2005




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3666 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19 08:40:20 +00:00
Nanang Izzuddin fe68f1dc55 Re #1326: Initial code integration from branch 2.0-dev to trunk as "2.0-pre-alpha-svn".
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3664 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-19 03:42:28 +00:00
Benny Prijono 35fc1eb3e4 Fixed #1294: New pjmedia_codec_register_audio_codecs() API to register all known codecs, and also added implementation to deregister all codecs when the media endpoint is destroyed
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3661 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 09:51:46 +00:00
Nanang Izzuddin 250ffa1b29 Misc (re #1320): moved function prototype stop_video_stream() from pjsua_vid.c to pjsua_internal.h
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3659 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 08:13:11 +00:00
Sauw Ming 5291a2da7d Re #1282:
- Change *fmt in pjmedia_vid_dev_info to array
- Change pjmedia_vid_cb/param to pjmedia_vid_dev_*



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3658 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 07:52:44 +00:00
Nanang Izzuddin 9808561961 Re #1263:
- Replaced video stream operation DISABLE into REMOVE.
 - Replaced video stream operation ENABLE into CHANGEDIR.
 - Added new param: media direction, used in operation ADD and CHANGEDIR.
 - Updated video stream operation START_TRANSMIT to ignore capture device param (as changing capture device is handled by CHANGE_CAP_DEV operation).



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3657 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 07:41:02 +00:00
Benny Prijono 1fe04eefb3 Fixed #1265: video events for PJSUA-LIB
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3656 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 07:27:05 +00:00
Sauw Ming c7bc3aa786 Re #1263:
Fixed assertion when receiving a call with no video



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3655 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 07:22:49 +00:00
Benny Prijono ee0ba1872c Re #1265 (GUI events): initial implementation, for renderer only first. Also re #1320 (misc): moved function prototypes from pjsua_xx.c to pjsua_internal.h
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3652 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-15 06:18:29 +00:00
Nanang Izzuddin f5269a22b7 Re #1263:
- Implemented media info/statistics APIs: stream info, stream statistic, and transport info.
 - Implemented API of default video stream index in call, pjsua_call_get_vid_stream_idx().



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3639 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 04:42:18 +00:00
Nanang Izzuddin f363802d77 Re #1263:
- Added API pjsua_vid_enum_wins() to enumerate video windows.
 - Minor fixes on video window manipulations.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3638 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 03:47:04 +00:00
Nanang Izzuddin c16590ad20 Re #1263: minor fixes:
- wrong boolean value to be used with PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE in pjsua_vid.c
 - unupdated 'vid' commands in pjsua sample app




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3637 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-14 02:14:25 +00:00
Nanang Izzuddin 7ad53c33df Re #1263:
- Break down the operation type PJSUA_CALL_VID_STRM_MODIFY into PJSUA_CALL_VID_STRM_ENABLE, PJSUA_CALL_VID_STRM_DISABLE, PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV.
 - Implemented video stream re-enabling (PJSUA_CALL_VID_STRM_ENABLE).




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3636 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-13 13:31:08 +00:00
Nanang Izzuddin b4d4dade23 Re #1263:
- Renamed API pjsua_call_set_vid_out() with pjsua_call_set_vid_strm().
 - Implemented initial version of the function, features covered:
   - add, remove video media stream during the call
   - change which device to use during the call
   - start/stop video stream transmission




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3634 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-13 08:51:10 +00:00
Benny Prijono 2d64772d47 Fixed #1299: New callback to notify that sound device needs to be opened or closed
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3632 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-13 03:05:22 +00:00
Nanang Izzuddin 62053a6a44 Re #1263:
- implemented video window management (get/set visibility, pos, resize)
 - integrated video window and video capture preview into call




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3629 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 11:08:32 +00:00
Nanang Izzuddin 9670575855 Misc (re #1320): updated vs2005 projects setting with the newly added files (such as pjsua_vid.c etc).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3619 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-12 03:25:33 +00:00
Benny Prijono 9f468d176d Initial commit re #1263 (PJSUA-LIB Video API):
- API designed and reviewed (pjsua.h)
 - Implemented these APIs and added to pjsua sample application:
   - video device enums API
   - video capture preview API
 - refactoring in PJSUA-LIB:
   - video stuffs go to pjsua_vid.c
   - call dump goes to pjsua_dump.c

We're still missing:
 - video call API implementation
 - media info and statistic API implementation



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3609 74dad513-b988-da41-8d7b-12977e46ad98
2011-07-07 07:46:33 +00:00
Perry Ismangil ebf16b053e Really fixed #1296 deleting VS6 workspaces and projects
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3602 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-30 12:53:51 +00:00
Perry Ismangil 1fef1f9b59 Fixed #1296 deleting VS6 workspaces and projects
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3583 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-14 14:35:39 +00:00
Sauw Ming e90ece8dc3 Closed #1275: Change pjmedia_vid_subsys_xx() to pjmedia_vid_dev_subsys_xx()
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3579 74dad513-b988-da41-8d7b-12977e46ad98
2011-06-09 04:05:44 +00:00
Nanang Izzuddin 5f32640196 Fix #1235: fixed lock codec to check all active media (previously only checked one media: first active audio).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3573 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-20 08:47:14 +00:00
Nanang Izzuddin b6c239c6db Fix #1237, #1238, #1241:
- Fixed handling remote re-offer, where SDP media line may be added or removed.
 - Fixed bug in receiving remote offer (initial or subsequent), media channel create sdp must consider acc->cfg.max_audio_cnt setting.
 - Fixed bug media transport is not closed after call disconnected.
 - Fixed assertion in lock_codec after receiving initial answer but no acceptable media (in pjsua level, e.g: SRTP nego failed), now the call will be terminated.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3560 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-10 05:42:28 +00:00
Nanang Izzuddin a62ffc9d03 Re #1250: Updated the year in all copyright texts with 2011!
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3553 74dad513-b988-da41-8d7b-12977e46ad98
2011-05-05 06:14:19 +00:00
Nanang Izzuddin f82043019b Fix #1248: Reset destination info in the INVITE message/tdata before resending it to force re-resolving destination info.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3546 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-27 04:58:32 +00:00
Benny Prijono 8f35a0e339 Fixed #1247: Deadlock potential in sip_regc.c if sending fails (thank you Alejandro Orellana for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3545 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-27 03:05:26 +00:00
Benny Prijono ad3ae915a7 Re #1245: bad last commit caused everything to be treated as unregistrations!
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3544 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-26 07:39:57 +00:00
Benny Prijono 8251c7fd68 Fixed #1245: Assertion may be raised if iPhone app woken up to perform registration and the server is down (thanks Alejandro Orellana for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3542 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-25 11:47:45 +00:00
Benny Prijono f0ba2dc993 Fixed #1232: Possible memory corruptions caused by pjsua_acc_modify() (thanks Viktor Krikun for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3538 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-14 15:38:23 +00:00
Benny Prijono 029806a4d1 Re #1201: re-enable printing of ICE and SRTP specific info in call statistic output
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3531 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-13 18:07:12 +00:00
Nanang Izzuddin 91ba2a2f1a Re #1201: Added SDP c= line in session level copied from the c=line of the first media, for compatibility purpose.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3521 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-11 19:59:09 +00:00
Benny Prijono bd6613f326 Re #1185: fixed ICE media transport to work with video in pjsua-lib
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3520 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-11 17:27:14 +00:00
Benny Prijono 09c0d67773 Re #1201: fixed sending 488 when receiving double hold
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3518 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-11 05:03:24 +00:00
Benny Prijono 9d5efa7681 Re #1208: fixed error if RTCP XR is enabled
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3515 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-10 23:52:05 +00:00
Nanang Izzuddin a641429ed1 Re #1201:
- fix bug responding 488 after receiving re-INVITE for doublehold
 - updated pjsua_media.c to skip instantiating video devs when call hold by local.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3512 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-08 04:26:18 +00:00
Nanang Izzuddin e03faada5c Re #1201: Fixed crash when remote initiate call hold with SDP media connection address "0.0.0.0".
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3508 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-07 14:51:28 +00:00
Benny Prijono 316f02aac0 Re #1185: requesting call hold did not set video direction to sendonly
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3506 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-07 07:53:25 +00:00
Benny Prijono 9439562d14 Misc re #1208: fixed SIP user agent layer to not automatically reject incoming REGISTER containing To-tag with 481 (functionality required by a registrar sample)
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3504 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-07 05:16:09 +00:00
Nanang Izzuddin 56b2ce43d8 Re #1186:
- Added custom negotiation callback mechanism in SDP negotiator, mainly for specific formats that require SDP fmtp negotiation.
 - Modified video codec ID string to use encoding name+payload type (was encoding name+clock rate), also added encoding description in video codec info, so duplicated codecs (e.g: multiple H264 configurations) can be differentiated.
 - Few enhancements for H264 in ffmpeg wrapper (e.g: added proper profile-id & packetization-mode setup).




git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3500 74dad513-b988-da41-8d7b-12977e46ad98
2011-04-06 13:55:01 +00:00
Nanang Izzuddin 7f8d76f032 Re #1224: Fixed silly bug in pjsua_acc_modify(): incremented wrong loop counter in updating credential info.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3490 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-29 03:47:16 +00:00
Benny Prijono 00ae45add3 libswscale rearrangement (re #1219/ffmpeg codecs): instantiate libswscale converter from the converter manager instead of having to instantiate it manually in all apps
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3487 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-25 08:13:43 +00:00
Benny Prijono 1d65528737 Fix #1223: Bug in initializing message body's media type from incoming message (thanks Gang Liu for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3482 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 12:01:21 +00:00
Benny Prijono 701412b746 Fix #1222: Assertion if BYE is received while callee is still in early state
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3481 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 11:46:17 +00:00
Sauw Ming 446ba13803 Re #1221: Move setting the socket option to pjlib level (sock_bsd) instead of in the SIP transport.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3480 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 10:23:31 +00:00
Sauw Ming 71841f7e33 Re #1221: Fix variable name error.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3479 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 06:11:40 +00:00
Sauw Ming d9d2f5e932 Fixed #1221: Crash when SIP transport tried to write to a broken pipe.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3478 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 06:08:36 +00:00
Nanang Izzuddin 07fe8d35f9 Re #1201: Fixed bad definition of pjsua_vid_set/get_setting() (caused compilation error on GCC).
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3476 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 04:43:01 +00:00
Benny Prijono 639873e0df Bug re #1161: the user header list was not cloned properly
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3474 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-23 03:46:26 +00:00
Nanang Izzuddin 50fae73e7d Re #1201: Added pjsua API for video devices and codecs management.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3471 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-22 09:49:23 +00:00
Benny Prijono 9b61ff5873 Re #1201: replace union media stream in pjsua_call_media with struct, to avoid the conf_slot corrupting the video capturer value
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3465 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 09:55:48 +00:00
Nanang Izzuddin bf26db1ec6 Re #1201:
- Initial version of video stream integration into pjsua-lib.
 - Replaced audio info array in pjsua_call_info with media info array.
 - Added video media info into call dump.
 - Fixed assertion caused by pjsua_set_state(NULL) logging after pjlib shutdown.



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3463 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-18 07:54:50 +00:00
Benny Prijono 0bc99a9ca3 Modifications in PJSUA-LIB to support multiple media streams (multiple audio and/or video) and dynamic creation of media transports. This closed #1185 and closed #1201.
1185: Dynamic creation of media transports
============================================
Done:
 - media transports are created on demand now

Todo:
 - media transport creation is still blocking


1201: Video support in PJSUA-LIB
===================================
Done:
 - call now supports N media (N audio and M video)
 - number of audio/video streams is configurable per acc
 - extra audio stream info in pjsua_call_info to support multiple audio streams
in one call
 - video subsys and ffmpeg initialization in PJSUA-LIB
 - ability to offer and create video SDP answer
 - "dq" for more than 1 audio streams
 - introducing pjsua_state and pjsua_get_state()

API change:
 - on_stream_created() and on_stream_destroyed() callbacks: changed session to
stream

Todo:
 - many others features are disabled, just search for DISABLED_FOR_TICKET_1185
macro (these have also been added to ticket #1193 (Issues & Todos)). Notable
missing features are:
      - creation of duplicate SDP m= lines for optional SRTP
      - mm.. that's it?
 - whole lot of testings

pjsua:
===============
 - Added --extra-audio and --video options. Specify these more than once and
each time an extra audio/video streams will be added. :)



git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3457 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-17 04:34:43 +00:00
Nanang Izzuddin 3a86f326d0 Fix #1212:
- Updated pj_register_strerror() to just return PJ_SUCCESS when the same range
and handler is being re-registered.
 - Removed the usage of static flag of error string handler registration in some
modules, which prevent the re-registration of the handler, e.g: in restarting
pjsua, as such flags never got reseted.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3455 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 07:34:16 +00:00
Benny Prijono cf51b61613 Re #1209: clarified in the comment that PJSUA_CALL_UNHOLD is only valid for pjsua_call_reinvite()
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3453 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 04:04:59 +00:00
Benny Prijono dec3a37dbc Fixed #1209: new enhancement: Option to update Contact URI when sending re-INVITE or UPDATE
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3452 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-16 03:52:20 +00:00
Sauw Ming 8ad06c5f36 Re #1205: If refresh timer is already running, it will be cancelled and rescheduled with the new delay. This can be useful if app wants to correct the delay after it checks the timeout in the callback.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3444 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 10:49:59 +00:00
Sauw Ming 744e0db987 Misc (re #1175) (thanks to Seth Hinze for the patch):
* uri_test:
  Fixes a divide by zero error when the benchmark is run on a really fast machine.
* presence:
  Fixes a compiler warning about potential referencing of an uninitialized variable.
* echo_speex:
  Allow for compilation when PJMEDIA_HAS_SPEEX_AEC is not defined.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3443 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 05:09:29 +00:00
Sauw Ming 9b80d51c09 Fixed #1205: Configurable delay before registration refresh setting in pjsua_acc_config
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3441 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-15 03:20:37 +00:00
Sauw Ming 98766c7947 Fixed #1204: Support for refreshing audio device list.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3438 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-11 06:57:24 +00:00
Sauw Ming c451f04917 Fix #1203: iPhone OS background mode detection
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3429 74dad513-b988-da41-8d7b-12977e46ad98
2011-03-01 07:47:37 +00:00
Benny Prijono e3e6580803 Initial implementation for re #1202 (PJILB System Information API) for Linux/Unix
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3423 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-28 07:44:19 +00:00
Sauw Ming 5c2f6da4ec Re #1161: Support for adding custom presence subscription headers.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3412 74dad513-b988-da41-8d7b-12977e46ad98
2011-02-11 07:39:14 +00:00
Benny Prijono a5edbd9d28 Re #1197: also increase MAX_IMMEDIATE_PACKET from 10 to 50 to make it more resilient against errors
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3409 74dad513-b988-da41-8d7b-12977e46ad98
2011-01-21 07:35:24 +00:00
Benny Prijono b5609b2292 Fixed #1190: Remote dialog info is not updated if 100 (Trying) response contains To tag parameter (thanks Marcus Froeschl for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3397 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-15 08:11:28 +00:00
Benny Prijono c45d951901 Migration of current video works from private repository to this repository. This closed #1176
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3392 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-10 11:04:30 +00:00
Benny Prijono 9d33c95716 Misc (re #1151): respond incoming re-INVITE with 491 instead of 500 if we are waiting for response for our outgoing re-INVITE. If we are currently processing another incoming re-INVITE, then respond with 500, as it is now
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3385 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-02 11:21:01 +00:00
Benny Prijono 0324ba5b56 Fixed #1170 (Assertion when receiving updated SDP offer with all media lines removed):
- pjsua_media.c checks if audio media is present in the offer; if not, do not set any answer
 - sip_inv.c checks if app has supplied an answer after on_rx_offer() callback is called, and returnd 488 (Not Acceptable) if not (previously, it will return 200/OK without SDP!)
 - added a SIPp scenario file to reproduce this


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3383 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-02 10:41:46 +00:00
Benny Prijono 1ec65e83ae Fixed #1166: Detection of offer/answer glare condition with re-INVITE
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3381 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-02 10:08:59 +00:00
Nanang Izzuddin 6d0e23c6f3 Misc (re #1151): Fixed pjsip_multipart_create() in initializing media type, should use pjsip_media_type_init() (thanks Dan Price for the report).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3378 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-02 03:46:11 +00:00
Nanang Izzuddin 5fc7fcfb3b Misc (re #1151): fixed pjsua_acc_config_dup(), some fields, i.e: contact_params, contact_uri_params, and auth_pref, were not duplicated properly (thanks Roman Grachev for the report and the patch).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3377 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-01 08:53:52 +00:00
Nanang Izzuddin 3150d8bc2c Fix #1165:
- Fixed pjsua_media_channel_create_sdp() to re-calculate audio index of the remote offer, instead of using existing audio index calculated by pjsua_media_channel_init(), as for subsequent SDP offer/answer, pjsua_media_channel_init() may not be called.
 - Fixed SRTP transport to be able to switch SRTP status from active to inactive/by-passed and vice versa.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3376 74dad513-b988-da41-8d7b-12977e46ad98
2010-12-01 08:20:28 +00:00
Benny Prijono 789794904e Fixed #1164: Possible crash in PUBLISH session if network connectivity is lost between two requests (thanks Nikolay Popok for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3375 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-29 14:49:37 +00:00
Nanang Izzuddin ec9190096e Fix #1163:
- Fixed lock codec to always be done after successful media update, and pend the lock codec until call state CONFIRMED if media update is done in call state EARLY but remote does not support UPDATE method.
 - Added additional checks in lock_codec() and perform_lock_codec(), e.g: skip locking codec when media deactivated.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3374 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-25 09:27:06 +00:00
Benny Prijono 0249327c6b Fixed #1159: UPDATE is sent to lock codec even though call is being disconnected
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3371 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-17 09:15:04 +00:00
Benny Prijono e49e620d77 Re #1020: fixed pjsua_acc.c, wrong allocation length for outbound contact.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3368 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-16 07:01:25 +00:00
Benny Prijono 2562b75e03 re #1020 (SIP outbound): remove sip.instance and reg-id parameters from the Contact when re-registering if the server does not support SIP outbound
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3367 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-16 06:01:38 +00:00
Benny Prijono b54719ff91 Implemented SIP outbound (closed #1020)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3366 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-16 03:07:46 +00:00
Benny Prijono 1a1f51e4ac Fixed #1156: New option to ignore bad NOTIFY presence message body (thanks Johan Lantz for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3363 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-10 12:13:46 +00:00
Benny Prijono c84ba48757 Fixed #1155 (Run-time option to disable the use of "rport" in outgoing requests (thanks Marcus Froeschl for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3361 74dad513-b988-da41-8d7b-12977e46ad98
2010-11-03 06:48:58 +00:00
Benny Prijono 1e60155980 Fixed #1149 (Crash when holding the call after receiving SDP answer with multiple codecs (thanks Cyril GY for the report)):
- avoid using pre-created SDP, but rather use timer and create SDP right when the UPDATE/re-INVITE is about to be sent, to avoid the use of stale pool
 - also fixed bug in the old code when the lock codec feature is not activated after the call is confirmed


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3349 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-20 05:31:08 +00:00
Benny Prijono 82defdd231 Fixed #1147 (Bug in parsing multipart message bodies (thanks Johan Lantz for the report)): leave the quote in parameter values and let the multipart code handle this instead
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3342 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-13 11:17:51 +00:00
Benny Prijono bb0348ed76 Misc (Re #1134): do not allow subscription state callback to be called with NULL event parameter as application may not expect this
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3341 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-13 11:13:22 +00:00
Benny Prijono fe937cb814 Fixed #1147: Bug in parsing multipart message bodies (thanks Johan Lantz for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3340 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-13 09:41:37 +00:00
Benny Prijono 6349989e20 Closed #1144: New presence callback to report subscription state (thanks Johan Lantz for the suggestion):
- added on_buddy_evsub_state() callback
 - added sample implementation in pjsua_app.c


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3339 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-12 12:45:15 +00:00
Benny Prijono f279c0937d Closed #1146: support for multipart message bodies in incoming NOTIFY requests
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3337 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-12 11:35:55 +00:00
Nanang Izzuddin 1e952a88ad Fix #1143:
- Fixed no audio bug when pjsua with SRTP optional-with-duplicated-offer calls pjsua with SRTP disabled, by updating active media index after SDP negotiation done.
 - Fixed bug in generating SDP, pjsua_media_channel_create_sdp(), by making sure all media in the SDP candidate are aligned with current active SDP before calling pjmedia_transport_encode_sdp().
 - Fixed bug in modifying SDP for call hold, the media index to be modified was hardcoded to 0, should be active media index.
 - Added python tests for calls with SRTP optional-with-duplicated-offer.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3334 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-05 16:32:04 +00:00
Benny Prijono 89e5261fc6 Misc (re #1134): added Supported header in outgoing SUBSCRIBE request. Although RFC 3265 says it is only optional, some downstream RFC may bring this requirement to SHOULD strength - e.g. RFC 5373 (thanks Johan Lantz for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3331 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-01 04:09:08 +00:00
Benny Prijono dd63b997df Closed #1142 (Account based configuration to specify if "c=0.0.0.0" method should be used when putting call on hold):
- use PJSUA_CALL_HOLD_TYPE_DEFAULT to specify default global call hold type
 - use pjsua_acc_config.call_hold_type to specify call hold type for the account
 - call hold type can also be set on per call basis by changing the call_hold_type in the call structure (requires inclusion of <pjsua-lib/pjsua_internal.h>

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3330 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-01 02:03:42 +00:00
Benny Prijono 202837d6d3 Closed #1141: Compile and run-time setting to allow printing of port number in URI in To and From header (thanks Marcus Froeschl for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3329 74dad513-b988-da41-8d7b-12977e46ad98
2010-10-01 00:24:23 +00:00
Benny Prijono 1768adeffd Closed #1121 (Deadlock in transaction code when hanging up calls): fixed the race condition when setting up transaction timeout
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3328 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-30 23:38:20 +00:00
Nanang Izzuddin 60e8aa911d Close #1137: added field reg_hdr_list into pjsua_acc_config to specify custom headers for REGISTER requests of the account.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3326 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 10:48:48 +00:00
Benny Prijono 0ef4e19a9a Fixed #1131: Callee disconnects call without sending BYE if ACK is not received (thanks Montevecchi Massimiliano and Klaus Darilion for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3324 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 08:03:23 +00:00
Benny Prijono c754578e5d Closed #1139 (Support for tel: URI in PJSUA-LIB):
- added new PJSUA API: pjsua_verify_url() which can be used for tel: URI
 - modified and tested according to spec
 - added new PJSIP error code, PJSIP_ENOROUTESET, to indicate that route set is needed to send to tel: URI
 - added couple of unit tests (we can't cover the whole tel: URI scenario yet)


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3323 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 07:43:18 +00:00
Nanang Izzuddin 4ea1bcc610 Close #1138:
- Added new pjsua registration status callback on_reg_state2(), it includes the whole info from the lower layer registration callback pjsip_regc_cb().



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3322 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-28 04:57:01 +00:00
Benny Prijono 0282727447 Misc (re #1134): fixed error in Makefile target for generating doxygen documentation when WWWDIR is specified
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3319 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-23 22:46:11 +00:00
Nanang Izzuddin 5e39a2b9d0 Closed #1129:
- Added run-time configuration for activating/deactivating stream keep-alive (non-codec-VAD mechanism), also added this config to account settings.
 - Fixed bug wrong session info pointer "si" in pjsua_media_channel_update() when call audio index is not zero.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3313 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-20 06:13:02 +00:00
Benny Prijono d9a7c8a9fa Fix #1121 (Deadlock in transaction code when hanging up calls (thanks Dennis Struble for the report))
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3311 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-15 07:42:14 +00:00
Nanang Izzuddin 742ef4bd30 Re #1120:
- Added enum pjsua_sip_timer_use for session timer usage types, containing: inactive, optional, required, always
 - Replaced require_timer (boolean) with above enum in global and account config setting.
 - Updated pjsua app --use-timer option accordingly.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3305 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07 09:36:15 +00:00
Sauw Ming 844c1c96d1 Fixed #1117: Configurable PJSUA-LIB lock timeout
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3304 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07 05:12:02 +00:00
Sauw Ming 48f6dbfce2 Fixed #1118: Add last error code to PJSUA-LIB account info structure
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3303 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-07 05:10:25 +00:00
Benny Prijono ae6d39e980 Fixed ticket:1119: Crash if sending UPDATE fails in session timer module because network connectivity is lost (thanks Robbie Hanson for the fix!)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3302 74dad513-b988-da41-8d7b-12977e46ad98
2010-09-06 12:47:53 +00:00
Benny Prijono 7386879c0d Fixed #1116 (Bug in regenerating elements of some headers when incoming request contains escaped characters (thanks Ferguen Adel for the report)):
- Fixed the printing part of Via "branch" parameter and To/From "tag" parameter, since these parameters are important for transaction/dialog identification
 - Note that if the escaping sequence describes a character that otherwise is a valid token, that token would still be printed unescaped, hence the problem would still persist. But sender really shouldn't send this kind of escaped sequence as it really is asking for trouble.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3301 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-31 16:46:13 +00:00
Benny Prijono b7b8844cb8 Dummy commit (re #1109)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3274 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-17 10:32:33 +00:00
Benny Prijono c8a8579610 Another dummy error commit (re #1109)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3273 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-17 01:40:43 +00:00
Benny Prijono ab61e98c7b Another dummy commit (re #1110)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3272 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-16 13:04:30 +00:00
Benny Prijono 4423d96dce Dummy error commit (re #1110)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3271 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-16 12:53:43 +00:00
Nanang Izzuddin 4fdd3fb555 Misc (re #1068): set sip_transport_tls_ossl.c to be excluded from build on Windows Mobile build configs (obsoleted by sip_transport_tls.c).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3264 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-11 07:26:13 +00:00
Benny Prijono 2958061f92 Misc (re #1068): fixed various compilation warnings with Visual Studio 6 and 2005
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3262 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-11 06:03:47 +00:00
Benny Prijono 0bf5b98509 Misc (re #1068): do not add To tag to the SIP response if the request already has one (thanks Rafael Maia for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3260 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-09 14:24:36 +00:00
Nanang Izzuddin d1f054e473 Misc (re #1068): fix compile errors/warnings on Symbian S60 5th ed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3255 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-06 07:18:08 +00:00
Benny Prijono c7c91832d3 Re #1070 (multipart): modified Visual Studio projects
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3244 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 13:48:49 +00:00
Benny Prijono 1c1d734e05 Implemented core multipart support and support in the invite session (re #1070)
- incoming multipart message will be handled automatically
 - for testing, enable HAVE_MULTIPART_TEST in pjsua_app.c


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3243 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 09:48:51 +00:00
Benny Prijono ad56eb8ee9 Re #1070 (support for multipart bodies): added new pjsip_param_cmp() API
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3242 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 09:26:34 +00:00
Benny Prijono 1e5a08b1d1 Re #1070 (support for multipart bodies): modified the param field of pjsip_media_type from a simple string to pjsip_param, to support a more complex use of this field
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3241 74dad513-b988-da41-8d7b-12977e46ad98
2010-08-01 09:24:58 +00:00
Nanang Izzuddin 78bec1ae8c Re #1103:
- Added (back) raw jitter statistics into RTCP statistics, with the new name "rx_raw_jitter".
 - Added IPDV statistics into RTCP statistics.
 - Added new compile-time settings to enable/disable raw jitter and IPDV statistics.
 - Updated call dump in pjsua-lib.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3239 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-15 14:45:47 +00:00
Benny Prijono ec4c77ec3b Misc (Re: #1068): fixed bug with pjsip_status_code enum, when an optimizing compiler decides to use 16bit integer to represent this enum. In PJSUA-LIB, there is a code which assigns 32bit value to a variable of this type, causing overflow. Thanks Rickard Angbratt for the report
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3233 74dad513-b988-da41-8d7b-12977e46ad98
2010-07-02 12:23:20 +00:00
Benny Prijono 122b9a771b Fixed #1039: Add Allow header in outgoing REGISTER request (thanks Daniel Anens for the info)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3223 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-24 13:32:05 +00:00
Benny Prijono 07fe230e3d Fixed #1081: Implement ICE option tag (RFC 5678)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3222 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-24 12:33:18 +00:00
Benny Prijono 2dbf507315 Fixed #1079 (Media transport should be kept alive during double-hold scenario). Details:
- now the stream will be destroyed but the media transport will be kept alive during doublehold scenario
 - small fix in SRTP to also negotiate crypto even when the media is marked as inactive, otherwise it's possible that an "optional" endpoint would create RTP/AVP offer and send it to "mandatory" endpoint, which would be rejected and cause the media port to be set to zero


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3219 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23 12:38:28 +00:00
Benny Prijono ab74c904a1 Another unterminated SDP offer/answer negotiation fix (Re: #1045):
- fixed unterminated negotiation if our media transport rejects incoming offer (e.g. due to mismatch SRTP transport) with 488.
 - to fix the above, modified the SDP negotiator (sdp_neg.[hc])'s pjmedia_sdp_neg_cancel_offer() to also be able to cancel in remote offer state
 - also fixed the bug introduced previous Session Timer fix (Re: #1047), which cause SDP negotiator's state to be cleared after failed UAC UPDATE transaction is terminated, which means UPDATE can only be sent 5 seconds after the last UPDATE if the last UPDATE failed.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3217 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-23 12:21:20 +00:00
Benny Prijono 29c8ca331c Fixed #1095 (New option to control the Route headers in REGISTER request). Details:
- added new account config setting: reg_use_proxy. This contains bitmask values to indicate whether outbound proxies and account proxies are to be added in the REGISTER request. Default value is to add both.
 - added new pjsua cmdline option to control this: --reg-use-proxy
 - miscellaneous minor fixes in other pjsua cmdline arguments


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3216 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-22 06:02:13 +00:00
Benny Prijono a8f9e622f5 Fixes #1047 (Don't send UPDATE if remote doesn't support it (thanks Bogdan Krakowski for the report)) and fixes #1097 (Support sending UPDATE without SDP). Details:
- Session timer fixes:
    - will look at remote capability in Allow header
    - if UPDATE is supported, will send UPDATE without SDP first. 
      If this fails, will send UPDATE with SDP
    - otherwise will send re-INVITE
 - PJSUA-LIB will look at dialog's remote capability to determine 
   whether re-INVITE or UPDATE should be sent to change default 
   addresses after ICE negotiation.
 - pjsip_inv_update() now allows NULL offer, in which case the
   UPDATE will be sent without SDP.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3215 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-21 13:28:55 +00:00
Benny Prijono c6d5fdcbaf Fixed #1086 (New option to update the Contact URI in a single REGISTER request): added contact_rewrite_method account config to control this. Default is to use the new mechanism, i.e. the single REGISTER method.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3213 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-20 08:58:26 +00:00
Benny Prijono 4d6ff4d62c Fixed #1077: In ICE stream transport (ice_strans.c), automaticaly retry allocation once if TURN allocation fails. If this allocation retry also fails, notify the TURN user via on_ice_complete() callback. Details:
- added new PJ_ICE_STRANS_OP_KEEP_ALIVE operation
 - also added new on_ice_transport_error() pjsua callback to allow application to react to the failure.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3212 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-19 12:35:33 +00:00
Nanang Izzuddin 0fd92673c1 Fix #1045:
- Fixed invite module to reset SDP negotiator state after incomplete SDP offer-answer in re-INVITE/UPDATE.
 - Added some SIPp test scenarios.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3208 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-16 15:26:18 +00:00
Nanang Izzuddin 93bacd0bfe Fix #476:
- Added lock codec feature to make sure that only one codec is active, by updating media session using UPDATE (if remote supports it) or re-INVITE.
 - Added few SIPp test scenarios.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3206 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-15 09:56:39 +00:00
Benny Prijono b2d231342d Re #1068 (Misc Fixes): changed timeout timer value initialization in sip_transaction.c to copy the value from TD timer value instead of calculating it directly from T1. This would enable customization of the timeout value by changing PJSIP_TD_TIMEOUT macro. Previously the only way to modify this is to change the T1 value, which is undesireable.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3203 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-15 05:14:10 +00:00
Nanang Izzuddin ff245a27d4 Re #1089:
- Fixed compile error (on Symbian) incompatible types between int and pjsip_dialog_cap_status.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3200 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-09 07:35:26 +00:00
Nanang Izzuddin 16852b3f2e Re #668:
- Fixed process_answer() of SDP negotiation, when no common format in a media, instead of returning error, it should just deactivate the media (offer & answer) and continue negotiating next media.
 - Generalized the way of deactivating media: set port to 0 and remove all attributes.
 - Added new API pjmedia_sdp_media_clone_deactivate() to clone media and deactivate the newly cloned media.
 - Updated PJMEDIA SDP negotiation test.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3198 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-04 13:41:34 +00:00
Nanang Izzuddin 2a1b9ee832 Re #1089:
- Added a feature in dialog to store and retrieve remote capabilities dug from the remote messages.
 - Added few APIs in dialog to query and update remote capabilities, also added an API in pjsua_call to query whether a capability is supported by remote.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3196 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-03 10:41:32 +00:00
Benny Prijono 8b33bba1f1 Fixed #1092 (Crash when receiving various messages with "Contact: *" header format)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3190 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-02 03:03:43 +00:00
Benny Prijono 7ec94e61aa Fix #1090: Disable the "Bug in branch_param generator (i.e. not unique)" assertion. This also fixes the hang problem when building the app in Release mode (assertion disabled), because the transaction is destroyed without being unlocked, causing the subsequent transaction unlock to loop indefinitely.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3188 74dad513-b988-da41-8d7b-12977e46ad98
2010-06-01 14:52:18 +00:00
Nanang Izzuddin c71bed6688 Fix #1087:
- Moved auto reregistration scheduling to be before the registration callback.
 - Updated validations in auto_rereg_timer_cb() & schedule_reregistration().



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3185 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-26 15:04:43 +00:00
Benny Prijono 609fff5054 Fix #1071: Increase default maximum SIP packet size to 4000
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3182 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-19 06:07:40 +00:00
Nanang Izzuddin d89cc3a4c9 Re #1069:
- Added new approach of SRTP optional mode in pjsua-lib by duplicating SDP media line for secured and unsecured version of media transport.
 - Integrated this feature into pjsua app, it is activated via --use-srtp=3 param.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3172 74dad513-b988-da41-8d7b-12977e46ad98
2010-05-13 05:22:51 +00:00
Benny Prijono 4e5c3f53c9 Fixed #1062 (Assertion if 200/OK INVITE response is received during PJSUA-LIB destroy sequence)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3153 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-29 12:11:51 +00:00
Benny Prijono c2ce9ccaca Fixed #1061 (Assertion when receiving authentication challenge with empty realm (thanks Andrey Kovalenko for the report)):
- removed the assertion (allow responding to empty realm)
 - slight modification in Authenticate/WWW-Authenticate headers to allow printing challenge with empty realm, otherwise a malformed header will be printed if empty realm is given



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3149 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-29 00:03:19 +00:00
Nanang Izzuddin 8f0f0d3b10 Misc (#1026) fixed build problems on Symbian S60 5th edition:
- link error undefined reference to `.L23' in function pjsip_cred_info_cmp() (thanks Ken Fish for the report).
 - compile error unable to convert pj_uint32_t to pjsip_transport_state.



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3148 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-28 07:52:57 +00:00
Nanang Izzuddin c3ea16a66a Ticket #1057: Implemented pjsua_modify_acc().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3144 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-20 14:36:38 +00:00
Nanang Izzuddin 665800081b Minor fix #1044:
- Moved the code of disconnecting calls (after first re-reg attempt failure) to schedule_reregistration(), so it will be executed earlier (right after the failure of re-reg attempt).



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3139 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-14 08:12:08 +00:00
Nanang Izzuddin 91cfa96fe4 Ticket #1056:
- Added functions to set/unset transport state notification callback on specific transport.
 - Updated transaction to immediately terminate the transactions when their transport gets disconnected.
 - Minor update: renamed function pjsip_tpmgr_set/get_status_cb() to pjsip_tpmgr_set/get_state_cb().



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3138 74dad513-b988-da41-8d7b-12977e46ad98
2010-04-14 06:57:35 +00:00
Nanang Izzuddin 36dd5b607e Ticket #1044:
- Added initial version of automatic re-registration after registration failure and automatic call disconnection after re-registration attempt fails.
 - Published auto re-registration setting to pjsua app.
 - Updated pjsip_regc_send() to retrieve the transport earlier (was only in tsx_callback()).
 - Fixed TCP and TLS transport to prevent transport deletion in transport disconnection callback.
 - Fixed wrong keep-alive settings used by TLS transport (was using TCP keep-alive settings).



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3128 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-30 11:13:59 +00:00
Benny Prijono 2140732ff3 More #1032 (new SIP TCP/TLS transport callback):
- PJSUA-LIB transport callback, if installed, will call the previously registered callback, to allow multiple transport callbacks to be installed
 - there seem to be a bug with the use of "pjsip_tp_state_callback" everywhere (the "pjsip_tp_state_callback" type is pointer, but most variables of this type are declared to pointer too)



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3119 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-10 13:33:25 +00:00
Nanang Izzuddin 10d9c1463d More ticket #1033: Fixed send_msg_callback of transaction.c to reset 'cont' flag to stop (re)transmitting when transaction has been unregistered.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3114 74dad513-b988-da41-8d7b-12977e46ad98
2010-03-01 12:14:24 +00:00
Nanang Izzuddin d69220bb10 Minor #1032: Fixed transport TCP of missing returning PJ_FALSE when connect attempt failed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3113 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-26 09:06:44 +00:00
Nanang Izzuddin 5e69da528f More ticket #1032:
- Updated transport state notification callback to return void.
 - Updated transport state enum to only contain connected and disconnected, no more bitmask value.
 - Added direction field to SIP transport.
 - Removed remote hostname hash from transport key.
 - Updated cert info dump to return -1 when buffer is insufficient.
 - Added new error code PJSIP_TLS_ECERTVERIF.
 - Updated get_cert_name() in ssl_sock_symbian.c to use heap buffer instead of stack.
 - Minors, e.g: added prefix PJ in cipher types, docs.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3110 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-25 11:58:19 +00:00
Benny Prijono cca2e436db Misc (#1026): fixed wrong documentation of pjsua_acc_config.allow_contact_rewrite
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3109 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-25 09:33:18 +00:00
Benny Prijono c7b3c3bb10 Ticket #996: update the ETag header in the pending PUBLISH requests if the value changes in the previous request (thanks Johan Lantz for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3108 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-24 11:22:21 +00:00
Nanang Izzuddin 2fb937eb02 Ticket #1032:
- Initial version of server domain name verification:
   - Updated SSL certificate info, especially identities info
   - Updated verification mechanism as in the specifications in ticket desc.
   - Added server domain name info in pjsip_tx_data.
   - Added alternative API for acquiring transport and creating transport of transport factory to include pjsip_tx_data param.
   - Server identity match criteria:
     - full host name match
     - wild card not accepted
     - if identity is URI, it must be SIP/SIPS URI
 - Initial version of transport state notifications:
   - Added new API to set transport state callback in PJSIP and PJSUA.
   - Defined states: connected/disconnected, accepted/rejected, verification errors.
 - Minors: 
   - Updated SSL socket test: dump verification result, test of requiring client cert, and few minors.
   - Updated test cert to include subjectAltName extensions.
   - Added SSL certificate dump function.
   - Updated max number of socket async operations in Symbian sample apps (RSocketServ::Connect()) to 32 (was default 8).




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3106 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-24 05:43:34 +00:00
Benny Prijono 38c975dfa3 Ticket #1031: Automatically handle 423 (Interval Too Brief) response in SIP registration (thanks Tomáš Valenta for the suggestion)
- implemented in sip_reg.c instead of in PJSUA-LIB, so that the functionality can be reused by non-PJSUA-LIB applications
 - also added several Python test scripts



git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3105 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-23 11:03:07 +00:00
Benny Prijono 166d502e3a Ticket #995: Send un-PUBLISH when pjsua_acc_set_registration(FALSE) is called (thanks Johan Lantz for the suggestion)
- in this implementation, when pjsua_acc_set_registration(FALSE) is called, the un-REGISTER request will be sent immediately after un-PUBLISH, unlike the process during shutdown where the un-REGISTER request will be sent only after un-PUBLISH transaction is complete


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3096 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-10 14:24:48 +00:00
Benny Prijono 9a048649f3 Fixed ticket #1011: "Invalid operation step" assertion when TCP is used
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3094 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-10 08:48:27 +00:00
Benny Prijono bcc8dd7270 Fixed ticket #1034: Crash on accepting a call with no codec in the SDP offer
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3091 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-09 12:28:03 +00:00
Benny Prijono 3dd29e2863 More ticket #1033:
- fixed the problem that caused ACK not to be sent. This happened when TCP switching is used, and the TCP fails to send the request.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3090 74dad513-b988-da41-8d7b-12977e46ad98
2010-02-08 17:42:35 +00:00
Benny Prijono 5c816affbc More ticket #1033:
- fix for r3071: added protection for case when TSX_HAS_PENDING_TRANSPORT flag is set to the transaction but pending_tx is NULL, causing crash


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3084 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-29 22:00:04 +00:00
Nanang Izzuddin 06839e722b Ticket #1028: Recommit r3074 with updated codec.h.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3078 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27 11:48:31 +00:00
Benny Prijono d1873b783e Fixed ticket #1036: Stray timer may be registered by SIP TCP and TLS transport in destroy routine, which could crash the program on Symbian (thanks Tamàs Solymosi for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3077 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-27 09:09:27 +00:00
Benny Prijono 0ff300cbeb Undo r3074 for ticket #1028 as it is missing updated codec.h hence causing build errors (thanks Michael Bradley Jr for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3075 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-26 18:54:28 +00:00
Nanang Izzuddin 721750538f Ticket #1028:
- Added new API pjmedia_codec_mgr_set_default_param() to set/update default codec parameter and implemented pjsua_codec_set_param() based on it.
 - Added mutex in codec manager to protect states manipulations.
 - Modified API pjmedia_codec_mgr_init() to add pool factory param.
 - Added new API pjmedia_codec_mgr_destroy().
 - Updated passthrough codec AMR to regard peer's mode-set setting.
 - Fixed VAS audio device to apply AMR encoding bitrate setting.
 - Fixed IPP codec codec_open() to update AMR bitrate info (for stream) when AMR encoding bitrate is not using the default, e.g: requested by peer via format param 'mode-set' in SDP.




git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3074 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-26 15:29:23 +00:00
Benny Prijono 09638547a7 Initial commit for #1033: Assertion error when shutting down PJSIP while TCP/TLS connect is in progress and a transaction is waiting
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3071 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-25 13:42:56 +00:00
Benny Prijono 984d7679ed Misc (#1026): initialize display field of SIP name address to NULL, as some libc library (mingw with gcc4, msvcrt) has some problem with sprintf with zero length and invalid pointer (thanks Klaus Darilion for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3070 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 17:27:32 +00:00
Benny Prijono b2d60deaa9 Fixed ticket #1030: Missing To tag in out-of-dialog response (thanks Rui Macedo for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3069 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 17:07:28 +00:00
Benny Prijono 15d3a70d96 Ticket #1029: Fix support for multiple (event) subscriptions in a single dialog (thanks Wang Eric for the report)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3068 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-21 10:04:26 +00:00
Benny Prijono ddd4714f1e Ticket #694: work on 'make install':
- adhere to --prefix
 - header and lib files installation
 - pkgconfig creation
 - also added version.mak to fill in with the correct version


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3063 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-15 15:06:20 +00:00
Benny Prijono 5765555ef0 Misc (#1026): remove the code that silently set SO_SNDBUF/SO_RCVBUF as it's not that useful and it would print error message on many platforms that don't support it, causing many questions from users
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3060 74dad513-b988-da41-8d7b-12977e46ad98
2010-01-14 09:05:08 +00:00