Commit Graph

79 Commits

Author SHA1 Message Date
marian 7fd35b99be Fixed bug: print a received answer to a request sent without trace id while tracing is enabled. Fixed bug: set channel's trace id when building a dialog message. Added configuration option to enable sip tracing.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6415 acf43c95-373e-0410-b603-e72c3f656dc1
2020-07-15 13:34:04 +00:00
oana 636e41a2cd Add support in SIP, SDP, RTP and CDR build for tracing a call.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6406 acf43c95-373e-0410-b603-e72c3f656dc1
2020-04-22 14:18:49 +00:00
oana e337f4bc3a Add option to stop execution of an outgoing call.
Propagate that parameter in dumb channel, tone generator and wave file.
In SIP, simulate going through the whole SIP stack before stopping execution of the call.



git-svn-id: http://yate.null.ro/svn/yate/trunk@6401 acf43c95-373e-0410-b603-e72c3f656dc1
2020-04-22 10:59:48 +00:00
paulc b69a858134 Automatically add a Contact to UPDATE messages too.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6388 acf43c95-373e-0410-b603-e72c3f656dc1
2020-02-28 15:31:42 +00:00
marian 8fe3d0585c Handle 'silent' error/reason in reject, disconnect, drop. Silence channel's transaction: process it but send nothing to remote party.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6387 acf43c95-373e-0410-b603-e72c3f656dc1
2020-02-27 12:11:28 +00:00
paulc 19a4839aa3 Fixed CSeq picking from added SIP message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6357 acf43c95-373e-0410-b603-e72c3f656dc1
2019-08-20 15:23:24 +00:00
marian 9413305495 Added SIPS URI support.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6321 acf43c95-373e-0410-b603-e72c3f656dc1
2018-07-06 09:37:17 +00:00
paulc a730efa009 Added support for sending call with SDP in ACK instead of INVITE in proxy and RTP forward modes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6280 acf43c95-373e-0410-b603-e72c3f656dc1
2017-11-16 18:11:05 +00:00
paulc c3f53e62fb Fixed 3/4/5/6xx responses to add a To tag if not already present.
Old behavior still achievable by ORing 128 to SIP engine flags.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6255 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-18 12:55:39 +00:00
paulc c4c9e994f0 Renamed DebugGoOn to DebugCrit so it better matches its purpose.
Swapped order of DebugCall and DebugNote so DebugCall is less visible.
Changed default debug level to DebugNote.
Modified a few inadequate uses of DebugCrit.


git-svn-id: http://yate.null.ro/svn/yate/trunk@6250 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-01 13:08:23 +00:00
marian 79afeb1178 Automatic remote party change can now be configured per channel from routing. A remote party (transport) can now be configured for an incoming call from pre-routing. Ignore VIA can now be configured per listener.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6230 acf43c95-373e-0410-b603-e72c3f656dc1
2017-06-14 09:14:20 +00:00
marian 4b2b5be5a1 Silenced some compiler warnings.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6203 acf43c95-373e-0410-b603-e72c3f656dc1
2017-04-11 08:08:07 +00:00
paulc 3ecbd7723e Fixed SIP UAC handling of 4/5/6xx answers to a forked INVITE.
git-svn-id: http://yate.null.ro/svn/yate/trunk@6186 acf43c95-373e-0410-b603-e72c3f656dc1
2017-02-17 13:30:00 +00:00
paulc 11a02cf913 Resolved or silenced a number of compile warnings.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5891 acf43c95-373e-0410-b603-e72c3f656dc1
2014-07-31 16:30:15 +00:00
paulc 11fcab1ab1 Implement independent CSeq generators for INVITE dialogs and REGISTER sessions.
Always parse CSeq in base 10, some implementations left pad with zeros.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5855 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-25 12:27:56 +00:00
paulc fce2aa8548 Allow retrieving and setting more SIP dialog components.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5846 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-18 08:38:30 +00:00
paulc 41241ca8fc Allow controlling the number of (re)transmission per SIP transaction.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5844 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-12 09:50:50 +00:00
paulc f2fe82537c Generate monotonic per-dialog Command Sequence numbers (CSeq) derived from the global sequence.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5841 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-11 12:02:40 +00:00
paulc 3e29286042 When building a default SIP domain from local address include port if not 5060.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5815 acf43c95-373e-0410-b603-e72c3f656dc1
2014-04-02 11:23:58 +00:00
paulc 37a72e4bc1 Added copyright notices to sources and scripts missing them.
Updated copyright notices for 2014.
Fixed end of lines in many files.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5755 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-05 11:42:17 +00:00
paulc 6c99ac9558 Added reporting the number of SIP transactions to "status sip" command.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5746 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-29 13:26:24 +00:00
marian 1385c6ae07 Fixed debug message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5690 acf43c95-373e-0410-b603-e72c3f656dc1
2013-11-27 14:00:21 +00:00
marian 0c55017c41 Added SIP IPv6 support.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5673 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-18 18:30:41 +00:00
paulc cf5d0fd71a Changed license terms in each source file to reference an external file.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
marian a0b11fc63d Propagate non-retryable send errors to transaction. Terminate outgoing transactions in Trying state if first send attempt failed. Reset failed message party otherwise.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5599 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-02 10:01:39 +00:00
paulc 3843f27737 Ignore To tags in 100 answers, they are not supposed to establish a dialog.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5587 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-18 12:55:01 +00:00
paulc 326a3d43d4 Added some more SIP errors from recent standards.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5452 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:33:49 +00:00
paulc 3b49b78ecb Added a shared static list of Atom strings and an YATOM macro.
This speeds up signifficantly the Yate RTTI on compilers that HAVE_BLOCK_RETURN.
Made the String comparison operator inline to shave off a few cycles.
Fast handle the comparison in identity case.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5449 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:19:14 +00:00
paulc 8aa902352c Retrieve and reuse Time::now() at most twice per SIPEngine::getEvent()
Avoids making too many calls to gettimeofday() when there are many SIP transactions.


git-svn-id: http://yate.null.ro/svn/yate/trunk@5254 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-11 10:27:56 +00:00
marian a77586a7a9 Added configurable option (defaults to disable) used to change remote party's ip/port when a channel receives a response or a new transaction from a different address.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5250 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-03 09:41:46 +00:00
paulc 955f946503 Downgraded branck/non-branch SIP ACK from MILD to NOTE, they are too frequent.
git-svn-id: http://yate.null.ro/svn/yate/trunk@5005 acf43c95-373e-0410-b603-e72c3f656dc1
2012-04-12 13:34:46 +00:00
paulc ab2222ef67 Changed the way SIP authentication is performed by UAS.
This allows implementing custom authentication schemes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4975 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-26 00:25:00 +00:00
marian 60102b4db6 Don't quote the qop and nc parameters in Authorization response. Patch suggested by billsimon in Mantis issue #285.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4807 acf43c95-373e-0410-b603-e72c3f656dc1
2012-01-17 16:26:46 +00:00
marian 5845857da0 Double the timeout period before using it. Decreased retransmission counters default values to keep the same overall timeout.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4559 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 15:16:26 +00:00
marian df8ec5d64d Made configurable the number of times to transmit a request or a final response when retransmission is required.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4556 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 14:11:51 +00:00
marian 80cd472913 Don't retransmit non 2xx final responses to INVITE on reliable transports.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4555 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 12:29:22 +00:00
marian 34924962aa Added support for tcp/tls sip transport. The sip module can now use (bind on) more then one address for udp.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4493 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-12 14:55:02 +00:00
paulc 1ae0546b45 Added class for pseudo random number generation.
Replace library ::random() and ::rand() calls with shared Random method.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4470 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-29 11:19:02 +00:00
paulc 51111b0f6d Optimized const String usage in the SIP library.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4427 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 13:04:21 +00:00
marian b77429d566 Use a global (per engine) nonce counter. Increase it each time we need it.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4378 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-16 08:18:56 +00:00
marian 8c5ca9bc71 Handle qop=auth authentication requested by UAS when acting as UAC.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4365 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-10 13:37:44 +00:00
paulc ef393de662 Added method to check easily if a SIP transaction can send a response message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4192 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-17 20:31:18 +00:00
paulc 6a09c86bad Added flags that control how SIP message components are automatically completed.
These flags can be configured per engine and can be overridden in some messages by setting an "xsip_flags" parameter.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4161 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-07 13:50:59 +00:00
paulc 453fe76909 Set the value of rport parameter (RFC 3581) in the topmost Via header only if the parameter is already set by the client or proxy and has no value.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4160 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-07 11:56:43 +00:00
paulc 3400667350 Consistently use the branch from the last Via header in matching transactions.
Fixes bug #237.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4080 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-28 09:49:55 +00:00
paulc 313d1bb82a Added optional parameter to retrieve the last header or its parameters from a SIP message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4079 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-28 09:48:00 +00:00
paulc d95cb2fec6 Spelling cleanup of a very common error: Retrive -> Retrieve
git-svn-id: http://yate.null.ro/svn/yate/trunk@3371 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 11:25:10 +00:00
paulc 15904daef1 Reorder libraries so that Yate libraries and modules can be linked using --as-needed avoiding underlinking or overlinking.
Reported by Mandriva (bug report #206).


git-svn-id: http://yate.null.ro/svn/yate/trunk@3143 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-24 13:46:12 +00:00
paulc c7d6f8c029 Use static Regexps instead of allocating them on stack. Multiplies 2.5x the parser performance.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3048 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-31 20:30:02 +00:00
paulc 717d48cd77 Minor performance improvement parsing non-SIP/2.0 branches.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3047 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-31 20:27:56 +00:00