Commit Graph

842 Commits

Author SHA1 Message Date
Nanang Izzuddin c12693f3d9
Option to use SIP UPDATE for refreshing calls in IP change (#3146)
* Option to use SIP UPDATE for refreshing calls in IP change

* Updated docs

* Add AccountIpChangeConfig.reinvUseUpdate in PJSUA2

* Add logs for debugging and display menu 'I' for IP change in pjsua app (the IP change action was already there just hidden).
2022-10-19 09:12:59 +07:00
SebaLedesma 6f311ab873
Doc fixes of the default value of Media Quality (#3241) 2022-10-17 11:50:23 +08:00
Nanang Izzuddin d98f3c3036
Add PJSUA_LOCK_CODEC_DONT_USE_UPDATE for forcing lock codec to always use INVITE method. (#3230) 2022-10-12 09:45:24 +07:00
Martin Flaska 00f2f4000c
pjsua2: Endpoint: Make transportGetInfo and transportEnum methods const (#3250) 2022-09-27 15:02:55 +07:00
Riza Sulistyo 797088ed13
Fix port_range/portRange documentation (#3221)
* Fix port_range/portRange doc

* Modify doc text
2022-08-23 15:12:52 +07:00
Benny Prijono c03ab41ed5
Documentation fixes for docs.pjsip.org v2.0 project (#3202)
* Improve robustness of sample apps. Fixing crash in aviplay

* Changes in documentation

* Add first pjsua2 hello world sample (from PJSUA2 guide)

* Fix doxygen documentation for docs.pjsip.org v2

* Add make clean-doc target

* Replace Trac ticket URL with GitHub issues URL

* Remove pjsip-book because the correct one is in pjproject_docs
2022-08-09 06:16:16 +07:00
Riza Sulistyo d4dc67706b
Add option to use default settings when switching sound device (#3181)
* Add option to use default settings when switching sound device

* Update doc

* Modification based on comments
2022-08-05 14:49:31 +07:00
sauwming e0b15546df Misc (re #3087): Fixed incorrect doc param name 2022-07-28 10:14:15 +08:00
sauwming 12aa75e317
Add ability in stream to modify Opus codec parameters on the fly (#3189) 2022-07-26 15:06:24 +08:00
sauwming 82247cb8c0
Add UPnP support for SIP UDP and media UDP transports (#3184) 2022-07-21 11:25:05 +08:00
Nanang Izzuddin 80d3385b69
Update VAD docs/help (#3165)
Update VAD docs/help, some codecs (e.g: Opus & SILK) have VAD disabled by default.
2022-07-05 09:40:47 +07:00
sauwming 772d690613
Add option to check if UPDATE sent during EARLY inv state has completed SDP nego using reliable prov response (#3138) 2022-06-10 07:24:02 +08:00
sauwming c4ee4db426
Add API pjsip_evsub_get_expires() (#3139) 2022-06-09 11:35:45 +08:00
sauwming b04abebc33
Fixed issues with event subscription regarding on_rx_refresh() and unsubscription (#3126) 2022-06-06 11:40:41 +08:00
Nanang Izzuddin d671704abe
Add run time settings to enable/disable RTCP-XR in account config (#3110) 2022-05-20 11:42:55 +07:00
Bastian Triller 3c2d4b3ae2
fix typos (#3096) 2022-05-05 13:46:43 +08:00
liviu-rolo 7a7c17d364
wrong documentation about default jbInit (#3006) 2022-05-04 09:13:02 +08:00
liviu-rolo 712225bd48
Wrong default values for JB prefetch (#3007) 2022-05-04 09:12:40 +08:00
Nanang Izzuddin 41023dad10
Some callbacks not invoked in call replace in PJSUA2 (#3059)
Warning: potential backward incompatibility issue, previously the replacing call can use any account (selected using pjsua_acc_find_for_incoming() and app may override via callback), now it is forced to use the same account.
2022-04-26 13:30:41 +07:00
sauwming 38c13afa1c
Fixed missing field in CodecParam (#3037) 2022-03-25 17:30:46 +08:00
Riza Sulistyo 8e95490e37
Add compile time option to allow multiple Authorization header (#3010) 2022-03-24 13:53:03 +08:00
Riza Sulistyo d27f79da11
Use PJ_ASSERT_RETURN() on pjsip_auth_create_digest() and pjsua_init_tpselector() (#3009)
* Use PJ_ASSERT_RETURN on pjsip_auth_create_digest

* Use PJ_ASSERT_RETURN on pjsua_init_tpselector()

* Fix incorrect check.

* Add return value to pjsip_auth_create_digest() and pjsip_auth_create_digestSHA256()

* Modification based on comments.
2022-03-08 22:20:39 +07:00
liviu-rolo 5102096ab1
wrong default value for jitter buffer max (#3001) 2022-03-03 12:44:43 +08:00
sauwming 18281d8a7d
Add option to randomize RTP starting port (#3000) 2022-03-03 12:43:44 +08:00
sauwming 9b37e587bc
Add feature to init SRTP ROC and check if SRTP ROC needs to be reset/maintained (#2846) 2022-02-18 10:06:29 +08:00
Florian Xaver 4cc86a6a3c
Fix documentation and usage of txdata ref counter (#2957) 2022-02-15 13:53:47 +08:00
Krzysztof Marciniak f5249ca70e
Added pjsip_tsx_set_timers to change timers at runtime (#2781)
* Added pjsip_tsx_set_timers to change timers at runtime

Added new function pjsip_tsx_set_timers in sip_transaction.c
which allows to change session timers during runtime.
It also allows to change timer values independently,
currently all timers are set at various ratios from
t1 during init. This was required for server which could
change timeout configuration on runtime, but could be
usable in other projects.

* Add synchronization of timer values in pjsip_cfg().

Add synchronization of timer values to pjsip_cfg() and another
function to (re)synchronize timer values from pjsip_cfg(),
`pjsip_tsx_initialize_timer_values()`.

`pjsip_tsx_set_timers` now accepts zeroed arguments to mean
that it should not change that timer value.
2022-02-14 12:49:29 +08:00
Nanang Izzuddin c12d12cab7
Fix deadlock after immediate hangup on video call (#2837) 2022-02-08 11:27:42 +08:00
Riza Sulistyo 4fa7528c9d
Allow registration refresh to continue when REGISTER response contains expires parameter set to 0 (#2809) 2022-02-08 11:24:48 +08:00
Riza Sulistyo 313d536c28
Implement verify callback to TLS connection (#2962) 2022-02-08 11:15:38 +08:00
sauwming d979253c92
Merge pull request from GHSA-qcvw-h34v-c7r9
* Perform buffer length checks

* Add asssertion sanity checks
2022-02-08 08:15:07 +08:00
George Joseph 551273f639
Additional multipart improvements (#2953)
Added the following APIs:
pjsip_multipart_find_part_by_header()
pjsip_multipart_find_part_by_header_str()
pjsip_multipart_find_part_by_cid_str()
pjsip_multipart_find_part_by_cid_uri()
2022-02-02 09:30:14 +07:00
sauwming c9a75bed34
Add parameter assertion check in pjsip_uri_get_uri() (#2893) 2022-01-19 19:22:06 +08:00
Florian Xaver e84b3318d7
Support Digest AKA authentication in PJSUA2 (#2785) 2022-01-17 10:18:00 +08:00
Florian Xaver ff7cd11630
Support loop media transport in PJSUA2 (#2900) 2022-01-13 13:20:50 +07:00
George Joseph 80c48e9a57
Create generic pjsip_hdr_find functions (#2941) 2022-01-13 13:10:04 +07:00
Riza Sulistyo d3d4d2200c
Support Flow-Timer on rfc5626 (#2921)
* Support Flow-Timer

* randomize keep-alive timer each time it is scheduled.

* Modify random delay calculation.

* Simplify random delay calculation.
2022-01-10 22:31:53 +07:00
sauwming 41b7bde0f0
Check for decoding delay in video stream (#2886) 2021-12-23 10:09:48 +08:00
George Joseph 69a89a26dd
sip_inv: Additional multipart support (#2919) (#2920) 2021-12-22 09:32:22 +07:00
George Joseph 57416c5cf8
Fix declaration of pjsip_auth_deinit_parser() (#2914) 2021-12-22 09:27:46 +07:00
Nanang Izzuddin 7dcf16dca5
Fix issues in updating media dir to "none" in the middle of a call (#2906)
* Fix issues in updating media dir to NONE in the middle of a call

* Update PJSUA2 CallSetting::mediaDir declaration for SWIG. Note: adding SWIG template for MediaDirVector as vector of pjmedia_dir enum causes some error: SWIG treats enum as int, so vector of pjmedia_dir will be wrapped as vector of int, as there is already IntVector, SWIG rejects duplicated vector of int.
2021-12-06 14:38:33 +07:00
Riza Sulistyo 073e992767
Add documentation on how port_range is used (#2904)
* Add documentation on how port_range is used.

* Add pjsua2 documentation

* Move example of media transport settings
2021-12-03 07:58:22 +07:00
Riza Sulistyo cc680d21e6
Change "md5" algorithm name to uppercase to comply with the standard (#2889) 2021-11-18 13:15:07 +07:00
Riza Sulistyo 6ca06f63ec
Fix some doc warning (#2879) 2021-11-10 09:57:40 +07:00
Nanang Izzuddin 6b1821c0c7
Add compile-time setting to disable automatic video device subsystem initialization (#2777) 2021-10-19 15:26:38 +07:00
Nanang Izzuddin 8fc67a51ee
Miscelaneous changes on PJSUA2 audio device APIs (#2822) 2021-09-27 15:24:59 +07:00
Nanang Izzuddin e48ec1dc0d
Add support to specify Contact URI params specific to REGISTER requests (#2819) 2021-09-23 09:08:07 +07:00
Nanang Izzuddin 37136a4ee6
High video latency when decoder frame rate is initialized lower than actually received (#2798)
- Add new APIs to update/refresh video conference bridge port: `pjmedia_vid_conf_update_port(), pjsua_vid_conf_update_port(), VideoMedia::update()`.
- Use the new API in PJSUA-LIB to update renderer & stream decoder in format changed event.
2021-08-18 10:47:13 +07:00
Nanang Izzuddin c80f59eb90
SDL full-screen mode fixes and enhancement (#2759)
- Add fullscreen mode PJMEDIA_VID_DEV_FULLSCREEN_DESKTOP (no video mode change), which is mapped to SDL_WINDOW_FULLSCREEN_DESKTOP.
- Fix resizing while in full-screen.
- Update PJSUA, PJSUA2 & pjsua app, e.g: fullscreen setting was boolean (fullscreen enabled/disabled), now it is enum: disabled, fullscreen, or fullscreen desktop.
2021-07-21 11:47:07 +07:00
Dan Oprescu 0966d4c6dd
Fix 's default constructor to do what the documentation says. (#2762) 2021-07-12 08:54:22 +07:00
SebaLedesma abf2b4c54f
Support for SHA-256 algorithm in SIP Digest Authentication (#2753) 2021-07-06 11:17:11 +07:00
Nanang Izzuddin bc6f0ee6e3
Avoid call disconnection due to request timeout when network change happens. (#2737) 2021-06-29 15:00:58 +07:00
Nanang Izzuddin cb35c79f21
Allow app modify video encoding param in on_stream_precreate() (#2741) 2021-06-29 15:00:12 +07:00
Riza Sulistyo 3844cd1b8b
Avoid deadlock when restarting SIP UDP transport due to holding pjsua lock (#2731)
* Avoid deadlock when restarting SIP UDP transport due to holding pjsua
lock.

* Add callback to lock/unlock any lock held when waiting for the read spin loop finish.

* Use simpler approach by unlocking before restarting UDP transport.

* Add doc to pjsip_udp_transport_restart() and pjsip_udp_transport_restart2() of the possibility of deadlock.
2021-06-29 14:58:22 +07:00
Nanang Izzuddin a5bd5e9d44 Misc (re #2698): Update docs of TD timer in SIP transaction, which also affects tsx timeout timer for both INVITE & non-INVITE tsx since https://trac.pjsip.org/repos/changeset/3203.
Thanks to Pirmin Walthert for the feedback.
2021-06-16 17:07:53 +07:00
sauwming 1cb34f56a7
Specify media direction when making, answering, or updating call (#2705) 2021-05-17 09:58:19 +08:00
sauwming ea7105c222
Allow SIP transaction to continue for certain case despite transport error (#2683) 2021-04-01 16:06:10 +08:00
Hubert LOBIT c075a41071
Add a `getID()` method to PJSUA2 Buddy class (#2681) 2021-03-30 16:15:15 +08:00
Nanang Izzuddin 79531cbc05
More works on Trickle ICE (#2667)
- Improve trickling state management (fix no SIP INFO when initial INVITE responded immediately with 200, strayed SIP INFO after trickling is done, etc).
- Fix issues when rtcp-mux is enabled.
- Allow process incoming SIP INFO before receiving remote SDP.
- Use regular ICE on re-INVITE (with reinit media flag).
- Avoid calling pj_ice_strans_get_running_comp_cnt() for loop condition.
- Fix bug in pjnath-test: TURN server set wrong peer channel number.
- Added timer for end-of-candidate indication from remote & don't flag ice-mismatch if remote uses default address in trickle ICE
2021-03-17 13:00:01 +07:00
sauwming 1a3f8ad60d
Fixed race condition between media event callback and stopping video (#2666) 2021-03-12 16:42:56 +08:00
sauwming 67e46c1ac4
Merge pull request from GHSA-8hcp-hm38-mfph
* Check hostname during TLS transport selection

* revision based on feedback

* remove the code in create_request that has been moved
2021-03-08 17:39:36 +08:00
Riza Sulistyo 433cf50b1c
Add option to disable auto re-registration. (#2652)
* Add option to disable auto re-registration.

* modification based on comments

* Change config name and add doc.
2021-03-05 14:42:21 +07:00
Nanang Izzuddin d331da47c8
Update pjsip-simple RPID (#2639)
- Allow <note> element in <tuple> set in pjsip_pres_status.info[0].rpid.note without having RPID element in presence message body.
- Fix wrong parent node for finding note element in get_tuple_note().
- Update docs: fix typo, etc.
2021-03-03 15:27:57 +07:00
sauwming 6470fb9e4b
Fixed race condition in regc_send() (#2653) 2021-02-24 17:03:29 +08:00
sauwming 0438a4762c
Modify pjsua maximum calls setting (#2654) 2021-02-24 17:02:58 +08:00
sauwming 0c78b9e8c8
Add compile time option to disable auto sending of 100 response (#2642) 2021-02-22 13:58:19 +08:00
Nanang Izzuddin aadc643a01
Fixed assertion in media update of session refresh after previous SDP offer has been rejected (#2627) 2021-02-15 10:18:02 +07:00
Riza Sulistyo a29e9dc3e5
Modify on_new_session callback as optional. (#2534) 2020-12-15 14:32:06 +07:00
Nanang Izzuddin d65cacddd3
Implement trickle ICE (#2588)
Squash & merge trickle-ice dev branch to master.
2020-12-11 09:40:57 +07:00
sauwming 2eea0ace2b
Report disconnection event immediately when hanging up a call (#2600) 2020-12-04 10:29:45 +08:00
sauwming 86fdff32e7
Disallow forceful close of pjsua transport (#2557) 2020-10-23 08:37:03 +08:00
Riza Sulistyo efbe7164e9
Option to send keep alive periodically when stream is started for NAT hole punching (#2518)
* send keep alive when stream is started.

* modification based on comments.

* Add documentation.

* Modification based on comments.

* Grouped configuration.
2020-10-12 14:37:30 +07:00
Riza Sulistyo 7a702b9aab
Add option to disable ice mismatch check. (#2538)
* Add option to disable ice mismatch check.

* Fix check error and modify doc.

* Modification based on comments.
2020-10-12 12:38:12 +07:00
Sergey Strelchenko 004f7f7d8c
Fixed wrong macros PJ_DEF. PJ_DECL is correct. (#2545) 2020-10-12 11:58:53 +08:00
Max Truxa 9c66083712
Implement stream pre-create callback (#2507) 2020-10-05 14:20:46 +07:00
Nanang Izzuddin 7147e2e985 Merge branch 'master' of https://github.com/pjsip/pjproject 2020-10-05 10:33:35 +07:00
Nanang Izzuddin 1749cf8a50 Misc (re #2504): Updated PJSUA_VID_REQ_KEYFRAME_RTCP_PLI docs, it is supported since 2.10. 2020-10-05 10:33:14 +07:00
Riza Sulistyo 510716631e Add option to disable ice mismatch check. 2020-10-02 14:18:51 +07:00
Nanang Izzuddin da46a61baf
Invite state not shifting to CONFIRMED state after sending ACK manually (#2528)
Also updated docs:
 - on_send_ack(): explicitly mention that ACK request must be created using pjsip_inv_create_ack().
 - pjsip_inv_create_ack(): SDP answer to be set using pjsip_inv_set_sdp_answer(), was pjsip_create_sdp_body().
2020-09-30 14:33:25 +07:00
sauwming e2d8ee0f49
Suppress CodeQL warnings (#2530)
Also exclude some third party libs and python source
2020-09-23 18:45:59 +08:00
Max Truxa 5925c42ea3
Pass JB discard algorithm along other JB settings (#2506) 2020-08-14 10:35:11 +08:00
andreas-wehrmann 973bb671a1
PJ adjustable pool sizes (#2395)
Make several pool sizes settable via compile time macro settings. This can be used to deal with memory fragmentation issues in long running applications that encounter temporary high loads.
2020-07-15 11:46:59 +07:00
Max Truxa 5f14950cb5
Add callbacks to receive RTP DTMF events (#2447) 2020-06-26 16:06:21 +08:00
Nanang Izzuddin 55cd705114
Allow NULL content in sending IM if msg_data has body/multipart (#2452) 2020-06-04 13:19:17 +07:00
sauwming c2d7c7616f
Call on_call_media_event() callback asynchronously to avoid deadlock (#2446) 2020-05-22 15:07:28 +08:00
sauwming 1c985975ce
Status phrases (#2381)
* pjsip: Add new status phrases

Taken from various (newer) SIP RFC's.

* psjip: Make status phrases match the RFC's

Replace homebrew phrases with the standard phrases from the SIP RFC's.

* pjsip: Add new status codes to pjsip_status_code enum

* Update symbols.i

* Fix indentation of symbols.i

Co-authored-by: sauwming <ming@teluu.com>
2020-04-29 11:58:31 +08:00
Nanang Izzuddin 346550de5e
VideoPreview not updating its device ID after device fast-switched (#2368) 2020-04-29 09:59:08 +07:00
Alex Hermann d1c2cd097f pjsip: Add new status codes to pjsip_status_code enum 2020-04-28 09:00:59 +02:00
Nanang Izzuddin 4fa33725bd Add TLS proto for TLS 1.3 2020-02-21 18:07:04 +07:00
Nanang Izzuddin b99e98bb09 Close #2265: Fixed compatibility issues on Python 3.7 or above.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6152 74dad513-b988-da41-8d7b-12977e46ad98
2020-02-04 04:47:32 +00:00
Sauw Ming 0e129f8665 Fixed #2264: Potential deadlock between pjsua lock and sip transport's lock
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6142 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-29 04:05:51 +00:00
Sauw Ming bde1167cc3 Closed #2143: Add AEC info to call info & statistics dump
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6140 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-28 06:58:45 +00:00
Riza Sulistyo ec2c39edc4 Close #2262: Notify when IP change handling is completed.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6137 74dad513-b988-da41-8d7b-12977e46ad98
2020-01-28 01:47:56 +00:00
Riza Sulistyo dfb6aa264d Close #2258: Add PJSUA2 API to get and set OPUS codec setting.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6119 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-17 10:06:01 +00:00
Nanang Izzuddin b9fd883dc2 Close #2255: Add API for making video window full screen.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6117 74dad513-b988-da41-8d7b-12977e46ad98
2019-12-10 03:55:51 +00:00
Sauw Ming e472147378 Fixed #2251: Deadlock between PJSUA LOCK and conference mutex
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6112 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-29 04:21:17 +00:00
Nanang Izzuddin 2d9f105d82 Close #1437: Video keyframe request/response using RTCP-FB PLI.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6106 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-13 09:11:04 +00:00
Nanang Izzuddin 666251bbf9 Misc (re #2210): Fixed macro setting PJSIP_MAX_TIMER_COUNT issues: not overridable and bad docs (thanks to Christian Ambach for the report and the patch).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6102 74dad513-b988-da41-8d7b-12977e46ad98
2019-11-07 03:22:42 +00:00
Sauw Ming 4976aaa25e Re #2210 (misc): Clarify in the doc that on_stream_created()/destroyed() callback is for audio stream
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6097 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-25 01:42:02 +00:00
Sauw Ming a0be35b381 Fixed #1778: Support for Voice Processing IO Audio Unit on Mac
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@6094 74dad513-b988-da41-8d7b-12977e46ad98
2019-10-17 07:02:50 +00:00