- 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
- 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
- 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
- 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
- Symbian testing (plain, APS/Direct, VAS/Direct)
- some MMPs need to be modified to support automated configuration
- renamed Write to FileWrite command in scenario files
- support for Visual Studio 2010 detection in configure script
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3131 74dad513-b988-da41-8d7b-12977e46ad98
- 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
- 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
- Applied VAS AMR playback solution from Forum Nokia.
- Fixed AMR playback for VAS and APS in composing DTX/NO_DATA (frame type 15) frame header.
- Modified symbsndtest test application to support non-PCM audio.
- Minor check fix in pjmedia_codec_mgr_destroy(), caught assertion when VAS factory init failed and media endpoint tried to destroy codec manager (codec mgr hasn't been init-ed).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3116 74dad513-b988-da41-8d7b-12977e46ad98
- Added requirement of AEC minimal latency between reference and echo in aectest sample app.
- Modified AEC latency in sound port to 3/4 of playback latency.
- Few cleaned up echo_common.c: unused vars, a bit stricter latency check (to be at least as much as PTIME).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3115 74dad513-b988-da41-8d7b-12977e46ad98
- 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
- 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
* httpdemo: make the 2nd parameter (output filename) optional (result will be printed to stdout if output file is not provided.
* remove trailing "\n" from PJ_LOG.
* change response.status_code from pj_str_t to pj_uint16_t.
* remove PJ_EPENDING status checking from on_complete.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3089 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed gcc warnings in activesock unit test
- 'make clean' did not clear pjsystest executable
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3048 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed bug in pjsip_tls_transport_start(): specified ca_list_file must be applied even when cert_file is not set.
- Fixed bug in lis_create_transport(): new transport should inherit cert settings (from listener).
- Fixed pjsua app, missing TLS transport setting 'require_client_cert' for '--tls-verify-client' option.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3039 74dad513-b988-da41-8d7b-12977e46ad98
- always intantiate TCP to support TCP auto-switching
- bug fix in retrieving DNS server field from GetNetworkParams() return value
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3036 74dad513-b988-da41-8d7b-12977e46ad98
Several bug fixes to the TURN client library and icedemo sample application:
1. ICE stream transport reports ICE initialization/candidate gathering stage as successful even when TURN client TCP connection has failed.
2. Bad ChannelData framing when TCP is used. PJNATH did not properly add padding to the TURN ChannelData packet if TCP is used and the data is not aligned to four bytes boundary. Similarly incoming ChannelData with padding (over TCP) may not be handled correctly.
3. Incoming data over TCP may be delayed. PJNATH only processed one frame (be it request, indication, or ChannelData) on an incoming stream, so if the stream contains more than one frames, the processing of subsequent frames will be delayed until more stream is received on the TCP transport.
4. The icedemo sample application overwrites the incoming packet buffer with NULL character ('\0') before printing the message to console. If there is another packet after current packet (as often happens when TCP is used), the subsequent packet will get corrupted.
The combinations of bugs above may cause PJNATH to return "Invalid STUN message length (PJNATH_EINSTUNMSGLEN)" error when processing incoming TURN ChannelData message over TCP.
And a small enhancement:
1. Add logging to file option to icedemo sample.
Thanks Sarun Nandakumar for the report.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3028 74dad513-b988-da41-8d7b-12977e46ad98
- undo r3019 which put unsolicited MWI support in pjsua app only
- put the unsolicited MWI support in PJSUA-LIB instead
- unsolicited MWI is by default enabled
- on_mwi_info() callback will be called just as the solicited MWI version
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3021 74dad513-b988-da41-8d7b-12977e46ad98
- transport config is not initialized with default values, causing assertion in QoS call
- memory leak with py_pjsua_simple_parse_uri
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3007 74dad513-b988-da41-8d7b-12977e46ad98
- added missing servername setup in symbian_ua. Without this, TLS connection will fail with KErrAborted/Interrupted on some devices (it may succeed on some FP1 devices but not others)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2999 74dad513-b988-da41-8d7b-12977e46ad98
- added the missing build target on the Makefile build system
- added alternative search path for the WAV files
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2991 74dad513-b988-da41-8d7b-12977e46ad98
Presence enhancements:
- finer grained buddy lock object, instead of using global PJSUA-LIB's mutex
- individual resubscription timer for buddies and also add random delay interval so that resubscriptions don't happen simultaneously (may hog processing and bandwidth).
- in general reduced the use of global PJSUA-LIB's mutex for more efficiency
- added last termination code in buddy info
- use the RPID note's text for buddy's offline status rather than the default "offline" status, if available
- resubscribe automatically on several termination causes as explained in the ticket (still untested)
General enhancements:
- added pjsua_schedule_timer() and pjsua_cancel_timer() APIs
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2956 74dad513-b988-da41-8d7b-12977e46ad98
- allow user to specify either custom body or header in call.send_request(). Previously user has to specify both (thanks Saúl Ibarra for the patch)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2910 74dad513-b988-da41-8d7b-12977e46ad98
- added acc.send_pager() API to send IM from account to an arbitrary URI (thanks Saúl Ibarra for the patch)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2909 74dad513-b988-da41-8d7b-12977e46ad98
PJSUA-LIB:
- New fields in pjsua_config to specify more than one STUN servers (the stun_srv_cnt and stun_srv array)
- The existing stun_host and stun_domain fields are deprecated, but backward compatibility is maintained. If stun_srv_cnt is zero, the library will import the entries from stun_host and stun_domain
- The library will now resolve the STUN server entries one by one and test it before using it
- New auxiliary API pjsua_resolve_stun_servers() to perform resolution and test against array of STUN servers
pjsua application:
- The "stun-srv" command line options can now be specified more than once
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2864 74dad513-b988-da41-8d7b-12977e46ad98
- Renamed pjsip_timer_default_setting() to pjsip_timer_setting_default().
- Updated session timer settings in pjsua-lib as whole session timer setting struct (pyhton version remains using se & min_se).
- Added output param SIP status code in pjsip_timer_process_resp() and pjsip_timer_process_req() to specify the corresponding SIP status code when function returning non-PJ_SUCCESS.
- Fixed print header functions in sip_timer.c to have buffer check.
- Added PJSIP_SESS_TIMER_DEF_SE setting to specify the default value of session timer interval.
- Fixed role reference of the refresher, it is transaction role, not dialog role.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2859 74dad513-b988-da41-8d7b-12977e46ad98
- Initial version of Session Timers (RFC 4028).
- Added new options in pjsua app to configure Session Timers settings.
- Added python tests for Session Timers.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2858 74dad513-b988-da41-8d7b-12977e46ad98
- Changed semantic of pjsua_acc_config.contact_params, it is now used for specifying Contact header parameters (it was used for specifying Contact URI parameters).
- Added a new field pjsua_acc_config.contact_uri_params, for specifying Contact URI parameters.
- Added fields pjsua_acc_config.contact_params and pjsua_acc_config.contact_uri_params into python pjsua.
- Updated/added option in pjsua app to specify Contact header parameters and Contact URI parameters.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2852 74dad513-b988-da41-8d7b-12977e46ad98
- Added new audio device VAS for Symbian platform.
- Updated symsndtest to use the latest audio device framework.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2821 74dad513-b988-da41-8d7b-12977e46ad98
- fixed transport TCP to call on_connect_complete when connect() returns PJ_SUCCESS.
- added option to enable transport TCP in symbian_ua.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2781 74dad513-b988-da41-8d7b-12977e46ad98
- #793: AMR encoder should regard 'mode-set' param specified by remote decoder.
- #831: Automatically switch to TCP transport when sending large request
- #832: Support for outbound proxy setting without using Route header
- #849: Modify conference audio switch behavior in connecting ports.
- #850: Remove 'Require=replaces' param in 'Refer-To' header (in call transfer with replaces).
- #851: Support for regular nomination in ICE
- #852: --ip-addr support for IPv6 for media transport in pjsua
- #854: Adding SOFTWARE attribute in all outgoing requests may cause compatibility problem with older STUN server (thanks Alexei Kuznetsov for the report)
- #855: Bug in digit map frequencies for DTMF digits (thanks FCCH for the report)
- #856: Put back the ICE candidate priority values according to the default values in the draft-mmusic-ice
- #857: Support for ICE keep-alive with Binding indication
- #858: Do not authenticate STUN 438 response
- #859: AMR-WB format param in the SDP is not negotiated correctly.
- #867: Return error instead of asserting when PJSUA-LIB fails to open log file
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2724 74dad513-b988-da41-8d7b-12977e46ad98
- Updated config_site_sample.h to enable resampling with small filter on WM platforms.
- Updated quality setting in WM sample apps (PocketPJ & pjsua_wince) to use default value.
- Updated VS projects of G722.1, Speex, libresample: turning on optimization for debug mode on WM platforms.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2678 74dad513-b988-da41-8d7b-12977e46ad98
- Added libresample.mmp
- Modified config_site_sample.h to enable resampling with small filter on Symbian platforms.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2676 74dad513-b988-da41-8d7b-12977e46ad98
- Currently supported platforms are: Win32, WM6 std & pro, WM5 SP & PPC, WM2003 SP & PPC.
- Added libpjproject into solution, this is a single 'combo' library that bundles all PJSIP libraries.
- Cleaned up most of compile warnings, note that warning level of libgsmcodec has been reduced from 4 to 3.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2660 74dad513-b988-da41-8d7b-12977e46ad98
- UAC now handles the BYE, and treat it as out-of-order disconnect request, meaning that it will disconnect the call
- it will also activate timer to terminate the INVITE transaction, in case final response never arrives
- added SIPp UAS scenario to test this
- also added forked 200/OK response SIPp scenario,
- and fixed the prack_fork.xml SIPp scenario
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2650 74dad513-b988-da41-8d7b-12977e46ad98
- Added missing PocketPj.vcproj.
- Updated include paths of pjmedia_codec.vcproj.
- Fixed pjproject-vs8.sln that might cause VS stuck in loading.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2640 74dad513-b988-da41-8d7b-12977e46ad98
- Currently supported platforms are Win32 & WM6 std/pro.
- Renamed project test_pjsip with pjsip_test, also source directory 'test-pjsip' to 'test'.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2638 74dad513-b988-da41-8d7b-12977e46ad98
- Added build config for GNU autoconf & make.
- Fixed some G.722.1 codes for linux & mingw32 targets, e.g: types
defs, collision function name 'round'.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2601 74dad513-b988-da41-8d7b-12977e46ad98
Updated audio test tool:
- Fixed playback report on avg interval.
- Added feature to set/get capture & playback latecies setting.
- Minor update on drift calculation, improve a bit readibility for debugging.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2555 74dad513-b988-da41-8d7b-12977e46ad98
- SIP version components may be separated by whitespaces (e.g. "SIP / 2.0")
- parsing of mangled header when for unknown/generic header
- Via parameters were parsed with paramchar rather than token
- handling NULL character inside quoted string
Some torture messages have been added in the Python test.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2505 74dad513-b988-da41-8d7b-12977e46ad98
- Updated symbian_ua.mmp to allow it links to multiple audio back-ends (feature of the new audio device framework).
- Minor fix in symbian_ua to use codec macros instead of sound device macro.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2483 74dad513-b988-da41-8d7b-12977e46ad98
- Added new Symbian specific API in PJLIB, pj_symbianos_set_connection_status(), to let PJLIB knows the connection status.
- Added connection status checks before Symbian socket operations.
- Added loop limiter in Symbian busy_sleep() to avoid the possibility of infinite loop.
- Added sample of connection monitor in Symbian sample application (ua.cpp).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2481 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed bug in conf_switch.c to always update ts_rx (even if port is not transmitting).
- Minor updates: 'fmt_id' to 'id', added transmitter_Cnt in conf port info, explicit mapping in Symbian audio APS impl from pjmedia_format_id to Symbian APS fourcc.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2460 74dad513-b988-da41-8d7b-12977e46ad98
- Updated audio switch board to make user possible to update its port 0 (master port) attributes, this is needed since sound device need to be reopened (e.g: for changing ptime or codec) while conf is not recreated.
- Added new API to AMR helper to resolve mode/frame-type based on frame len.
- Updated pmedia_frame_ext helper functions for a bit optimization.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2444 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed symbian_sound_aps.cpp in filling silence, previously just by filling zeroes.
- Some fixes in ua.cpp: always reopen sound device (even if PCM is in use), make sure sound device closed before quit, release application pool.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2439 74dad513-b988-da41-8d7b-12977e46ad98
- Updated symbian_ua/ua.cpp to be able to reopen sound device when audio stream session is using non-PCM data/passthrough codec.
- Updated stream.c to allow it works with non-PCM data.
- Added PCMU/A frames processing into non-PCM play/record callbacks in symbian_audio_aps.cpp.
- Added passthrough codec init/deinitialization in pjsua-lib.
- Added a new pjmedia_frame_ext helper function, pjmedia_frame_ext_pop_subframes, to pop-out/remove some subframes.
- Other minor updates/fixes.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/aps-direct@2438 74dad513-b988-da41-8d7b-12977e46ad98