Commit Graph

40 Commits

Author SHA1 Message Date
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
paulc 9e536a65cf Bumped SVN trunk version to 3.0.0 alpha 1.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2883 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-03 09:48:34 +00:00
paulc 0533a9baf6 Made the SIP transactions list protected, added methods to add or remove transactions from list that lock the engine.
Remove transactions from engine's list on destroyed() as later access to their virtual methods is unsafe.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2868 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-16 12:08:22 +00:00
paulc 7ba9fb751c Fixed documentation generating comments for SIP classes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2823 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-06 14:58:18 +00:00
paulc 9fa5281f19 Added new methods to SIPDialog to compare only callid and tags (RFC 3261) and to retrieve the From and To URI or tags depending on direction.
Documented members of SIPDialog.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2822 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-06 14:50:36 +00:00
paulc eeafea378b Prevent the escaping of user-unreserved characters (RFC 3261 25.1 Page 222) when building the user part of SIP From and Contact.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2817 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-01 14:42:28 +00:00
paulc a2835ec68d Added separate method to actually process a SIP message after identifying its transaction.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2791 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-14 12:51:05 +00:00
paulc df88815dfe Transmit the internally generated 408 answer, prevent the stack from immediately cleaning up the transaction.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2790 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-14 11:34:04 +00:00
paulc 65fa4adbd4 Fixed warnings and a few minor bugs when compiling on a different architecture.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2724 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-19 11:19:20 +00:00
paulc 2c03a9624d Use the system detected CFLAGS instead of hardcoding -O2
git-svn-id: http://yate.null.ro/svn/yate/trunk@2673 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-01 16:06:14 +00:00
paulc c069997056 Link the libraries using the C++ linker so it properly links against libstdc++ and compiler support.
Not required on ELF systems as libyate.so would pull in the required libraries but was confusing and could cause problems on other platforms.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2667 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-31 18:58:25 +00:00
paulc 6017353332 Add a Contact header to INVITE even if user part of URI is empty.
Properly escape the user component of the URI.


git-svn-id: http://yate.null.ro/svn/yate/trunk@2645 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-21 20:57:51 +00:00
paulc 2c3d47c29c Added mutex names to most Yate libraries.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2612 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-05 12:37:55 +00:00
paulc bcdef30339 Set the latest message in SIP client transactions. Compute user timeout from standard SIP timers.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2442 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-16 14:59:27 +00:00
paulc 496ed73cce Use the Human Interaction timer once we see any answer with code > 100
git-svn-id: http://yate.null.ro/svn/yate/trunk@2441 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-16 13:48:24 +00:00
paulc 05e9f1bbb7 Use the MIME quoting method instead of blindly adding quotes around strings.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2344 acf43c95-373e-0410-b603-e72c3f656dc1
2008-11-17 12:38:17 +00:00
paulc b1c3dd33c2 Made SIPEvent::getMessage return a non-const, improved documentation.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2163 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-15 12:10:14 +00:00
paulc 4b8483ca1c Added capability to skip the initial "100 Trying" for non-INVITE transactions.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2146 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-06 17:16:34 +00:00
paulc 14bf8a5cd3 Add configure time LDFLAGS to linker command line.
git-svn-id: http://yate.null.ro/svn/yate/trunk@2006 acf43c95-373e-0410-b603-e72c3f656dc1
2008-06-03 10:59:16 +00:00
paulc 587b1edc89 Detect and drop the calls for which a proper transaction ACK was not received.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1892 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-10 18:08:40 +00:00
paulc 3fc8d46810 Performance improvments suggested by Allan Sandfeld:
Change order of transaction to match most recent ones first.
Don't wait in select in SIP channel if we had events last loop.


git-svn-id: http://yate.null.ro/svn/yate/trunk@1631 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-15 15:15:44 +00:00
marian 5765cfaeab Fixed incorrect content length header when building a message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1620 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-11 14:48:53 +00:00
marian dfa59997e3 Fixed message body build buffer to deal with additional body headers and mime multiparts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1619 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-11 14:23:56 +00:00
marian 47f897a49d Added MIME body constructors from a header line. Adjusted SIP message parser to handle this.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1607 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-09 11:32:35 +00:00
marian dabd23216d Moved header classes and some utilities from SIP to MIME. Updated SIP module and library to reflect the changes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1599 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-08 12:29:12 +00:00
paulc 75a86343c8 Return pending and outgoing events of all transactions before trying to create new ones.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1515 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-30 16:46:06 +00:00
paulc 40f949391a Accept requests with a CSeq sequence number of 0, they are valid.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1482 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-21 18:22:06 +00:00
paulc 033837f45c Fixed Remote-Party-ID generation, allow creating From without user part by unsetting the caller parameter.
git-svn-id: http://yate.null.ro/svn/yate/trunk@1481 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-21 01:08:14 +00:00
paulc b42a894ddc Directory reorder #3
git-svn-id: http://yate.null.ro/svn/yate/trunk@1476 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-15 23:06:36 +00:00
paulc bccee6022e Directory reorder #1
git-svn-id: http://yate.null.ro/svn/yate/trunk@1474 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-15 22:08:39 +00:00