Commit Graph

81 Commits

Author SHA1 Message Date
Ioana Stanciu afc46246ca Import commercial version of YATE SIP and SDP implementation. 2023-05-23 15:16:31 +03:00
Ioana Stanciu ca129ad5ba Import SVN ignore propgs to git. 2023-02-17 16:53:39 +02:00
marian 624486eb31 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://voip.null.ro/svn/yate@6415 acf43c95-373e-0410-b603-e72c3f656dc1
2020-07-15 13:34:04 +00:00
oana 25422700b2 Add support in SIP, SDP, RTP and CDR build for tracing a call.
git-svn-id: http://voip.null.ro/svn/yate@6406 acf43c95-373e-0410-b603-e72c3f656dc1
2020-04-22 14:18:49 +00:00
oana 47908cf938 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://voip.null.ro/svn/yate@6401 acf43c95-373e-0410-b603-e72c3f656dc1
2020-04-22 10:59:48 +00:00
paulc 1ada2db923 Automatically add a Contact to UPDATE messages too.
git-svn-id: http://voip.null.ro/svn/yate@6388 acf43c95-373e-0410-b603-e72c3f656dc1
2020-02-28 15:31:42 +00:00
marian 98bdfee9f5 Handle 'silent' error/reason in reject, disconnect, drop. Silence channel's transaction: process it but send nothing to remote party.
git-svn-id: http://voip.null.ro/svn/yate@6387 acf43c95-373e-0410-b603-e72c3f656dc1
2020-02-27 12:11:28 +00:00
paulc 5ebd71de00 Fixed CSeq picking from added SIP message.
git-svn-id: http://voip.null.ro/svn/yate@6357 acf43c95-373e-0410-b603-e72c3f656dc1
2019-08-20 15:23:24 +00:00
marian 00b0b1e408 Added SIPS URI support.
git-svn-id: http://voip.null.ro/svn/yate@6321 acf43c95-373e-0410-b603-e72c3f656dc1
2018-07-06 09:37:17 +00:00
paulc 6217608c8b Added support for sending call with SDP in ACK instead of INVITE in proxy and RTP forward modes.
git-svn-id: http://voip.null.ro/svn/yate@6280 acf43c95-373e-0410-b603-e72c3f656dc1
2017-11-16 18:11:05 +00:00
paulc f06ad6d492 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://voip.null.ro/svn/yate@6255 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-18 12:55:39 +00:00
paulc 277e34b576 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://voip.null.ro/svn/yate@6250 acf43c95-373e-0410-b603-e72c3f656dc1
2017-08-01 13:08:23 +00:00
marian eceb6b03f0 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://voip.null.ro/svn/yate@6230 acf43c95-373e-0410-b603-e72c3f656dc1
2017-06-14 09:14:20 +00:00
marian ea29f9107d Silenced some compiler warnings.
git-svn-id: http://voip.null.ro/svn/yate@6203 acf43c95-373e-0410-b603-e72c3f656dc1
2017-04-11 08:08:07 +00:00
paulc f7791d1d57 Fixed SIP UAC handling of 4/5/6xx answers to a forked INVITE.
git-svn-id: http://voip.null.ro/svn/yate@6186 acf43c95-373e-0410-b603-e72c3f656dc1
2017-02-17 13:30:00 +00:00
paulc 669bb07e1f Resolved or silenced a number of compile warnings.
git-svn-id: http://voip.null.ro/svn/yate@5891 acf43c95-373e-0410-b603-e72c3f656dc1
2014-07-31 16:30:15 +00:00
paulc 06353655f8 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://voip.null.ro/svn/yate@5855 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-25 12:27:56 +00:00
paulc 303e9abc0e Allow retrieving and setting more SIP dialog components.
git-svn-id: http://voip.null.ro/svn/yate@5846 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-18 08:38:30 +00:00
paulc 8dd206b9a2 Allow controlling the number of (re)transmission per SIP transaction.
git-svn-id: http://voip.null.ro/svn/yate@5844 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-12 09:50:50 +00:00
paulc ecf3477dcb Generate monotonic per-dialog Command Sequence numbers (CSeq) derived from the global sequence.
git-svn-id: http://voip.null.ro/svn/yate@5841 acf43c95-373e-0410-b603-e72c3f656dc1
2014-06-11 12:02:40 +00:00
paulc 7e19a2d834 When building a default SIP domain from local address include port if not 5060.
git-svn-id: http://voip.null.ro/svn/yate@5815 acf43c95-373e-0410-b603-e72c3f656dc1
2014-04-02 11:23:58 +00:00
paulc d56cecb40e 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://voip.null.ro/svn/yate@5755 acf43c95-373e-0410-b603-e72c3f656dc1
2014-02-05 11:42:17 +00:00
paulc caa4632c88 Added reporting the number of SIP transactions to "status sip" command.
git-svn-id: http://voip.null.ro/svn/yate@5746 acf43c95-373e-0410-b603-e72c3f656dc1
2014-01-29 13:26:24 +00:00
marian e6b54d1e4a Fixed debug message.
git-svn-id: http://voip.null.ro/svn/yate@5690 acf43c95-373e-0410-b603-e72c3f656dc1
2013-11-27 14:00:21 +00:00
marian 5878e5b393 Added SIP IPv6 support.
git-svn-id: http://voip.null.ro/svn/yate@5673 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-18 18:30:41 +00:00
paulc 18e10bfd69 Changed license terms in each source file to reference an external file.
git-svn-id: http://voip.null.ro/svn/yate@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
marian c9257c678e 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://voip.null.ro/svn/yate@5599 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-02 10:01:39 +00:00
paulc ebbdc98816 Ignore To tags in 100 answers, they are not supposed to establish a dialog.
git-svn-id: http://voip.null.ro/svn/yate@5587 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-18 12:55:01 +00:00
paulc a861cc9359 Added some more SIP errors from recent standards.
git-svn-id: http://voip.null.ro/svn/yate@5452 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:33:49 +00:00
paulc 7c8b2d4c38 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://voip.null.ro/svn/yate@5449 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:19:14 +00:00
paulc 83aa2cd60a 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://voip.null.ro/svn/yate@5254 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-11 10:27:56 +00:00
marian 48dbd2df8b 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://voip.null.ro/svn/yate@5250 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-03 09:41:46 +00:00
paulc cbc05c9ad3 Downgraded branck/non-branch SIP ACK from MILD to NOTE, they are too frequent.
git-svn-id: http://voip.null.ro/svn/yate@5005 acf43c95-373e-0410-b603-e72c3f656dc1
2012-04-12 13:34:46 +00:00
paulc cfe4edbc26 Changed the way SIP authentication is performed by UAS.
This allows implementing custom authentication schemes.


git-svn-id: http://voip.null.ro/svn/yate@4975 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-26 00:25:00 +00:00
marian 9ece20100f Don't quote the qop and nc parameters in Authorization response. Patch suggested by billsimon in Mantis issue #285.
git-svn-id: http://voip.null.ro/svn/yate@4807 acf43c95-373e-0410-b603-e72c3f656dc1
2012-01-17 16:26:46 +00:00
marian 94117426bd Double the timeout period before using it. Decreased retransmission counters default values to keep the same overall timeout.
git-svn-id: http://voip.null.ro/svn/yate@4559 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 15:16:26 +00:00
marian fa56ec84d8 Made configurable the number of times to transmit a request or a final response when retransmission is required.
git-svn-id: http://voip.null.ro/svn/yate@4556 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 14:11:51 +00:00
marian c5c48c7253 Don't retransmit non 2xx final responses to INVITE on reliable transports.
git-svn-id: http://voip.null.ro/svn/yate@4555 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-22 12:29:22 +00:00
marian f9f3241df5 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://voip.null.ro/svn/yate@4493 acf43c95-373e-0410-b603-e72c3f656dc1
2011-07-12 14:55:02 +00:00
paulc 07132042d0 Added class for pseudo random number generation.
Replace library ::random() and ::rand() calls with shared Random method.


git-svn-id: http://voip.null.ro/svn/yate@4470 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-29 11:19:02 +00:00
paulc 07502db52d Optimized const String usage in the SIP library.
git-svn-id: http://voip.null.ro/svn/yate@4427 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 13:04:21 +00:00
marian 311636496a Use a global (per engine) nonce counter. Increase it each time we need it.
git-svn-id: http://voip.null.ro/svn/yate@4378 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-16 08:18:56 +00:00
marian c8ef4d0a84 Handle qop=auth authentication requested by UAS when acting as UAC.
git-svn-id: http://voip.null.ro/svn/yate@4365 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-10 13:37:44 +00:00
paulc 873d8b8c70 Added method to check easily if a SIP transaction can send a response message.
git-svn-id: http://voip.null.ro/svn/yate@4192 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-17 20:31:18 +00:00
paulc b2283a0c2e 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://voip.null.ro/svn/yate@4161 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-07 13:50:59 +00:00
paulc 62ce79a0c0 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://voip.null.ro/svn/yate@4160 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-07 11:56:43 +00:00
paulc 37d32210b1 Consistently use the branch from the last Via header in matching transactions.
Fixes bug #237.


git-svn-id: http://voip.null.ro/svn/yate@4080 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-28 09:49:55 +00:00
paulc 85604c3339 Added optional parameter to retrieve the last header or its parameters from a SIP message.
git-svn-id: http://voip.null.ro/svn/yate@4079 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-28 09:48:00 +00:00
paulc 6e23c56d28 Spelling cleanup of a very common error: Retrive -> Retrieve
git-svn-id: http://voip.null.ro/svn/yate@3371 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 11:25:10 +00:00
paulc a3b65e3faa 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://voip.null.ro/svn/yate@3143 acf43c95-373e-0410-b603-e72c3f656dc1
2010-03-24 13:46:12 +00:00