Commit Graph

81 Commits

Author SHA1 Message Date
paulc be5664b373 Use static Regexps instead of allocating them on stack. Multiplies 2.5x the parser performance.
git-svn-id: http://voip.null.ro/svn/yate@3048 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-31 20:30:02 +00:00
paulc 232ca0d142 Minor performance improvement parsing non-SIP/2.0 branches.
git-svn-id: http://voip.null.ro/svn/yate@3047 acf43c95-373e-0410-b603-e72c3f656dc1
2010-01-31 20:27:56 +00:00
paulc c820ad9e22 Bumped SVN trunk version to 3.0.0 alpha 1.
git-svn-id: http://voip.null.ro/svn/yate@2883 acf43c95-373e-0410-b603-e72c3f656dc1
2009-11-03 09:48:34 +00:00
paulc 83f9079ba5 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://voip.null.ro/svn/yate@2868 acf43c95-373e-0410-b603-e72c3f656dc1
2009-10-16 12:08:22 +00:00
paulc 56f89eca3e Fixed documentation generating comments for SIP classes.
git-svn-id: http://voip.null.ro/svn/yate@2823 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-06 14:58:18 +00:00
paulc 4b8527fca4 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://voip.null.ro/svn/yate@2822 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-06 14:50:36 +00:00
paulc ad1dbdb955 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://voip.null.ro/svn/yate@2817 acf43c95-373e-0410-b603-e72c3f656dc1
2009-09-01 14:42:28 +00:00
paulc 9c7317c972 Added separate method to actually process a SIP message after identifying its transaction.
git-svn-id: http://voip.null.ro/svn/yate@2791 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-14 12:51:05 +00:00
paulc 1ae2b5f153 Transmit the internally generated 408 answer, prevent the stack from immediately cleaning up the transaction.
git-svn-id: http://voip.null.ro/svn/yate@2790 acf43c95-373e-0410-b603-e72c3f656dc1
2009-08-14 11:34:04 +00:00
paulc eb2a9cd5e0 Fixed warnings and a few minor bugs when compiling on a different architecture.
git-svn-id: http://voip.null.ro/svn/yate@2724 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-19 11:19:20 +00:00
paulc 35beaecc0a Use the system detected CFLAGS instead of hardcoding -O2
git-svn-id: http://voip.null.ro/svn/yate@2673 acf43c95-373e-0410-b603-e72c3f656dc1
2009-06-01 16:06:14 +00:00
paulc 10d8d3d7cf 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://voip.null.ro/svn/yate@2667 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-31 18:58:25 +00:00
paulc caaf7433f0 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://voip.null.ro/svn/yate@2645 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-21 20:57:51 +00:00
paulc fe3a149e21 Added mutex names to most Yate libraries.
git-svn-id: http://voip.null.ro/svn/yate@2612 acf43c95-373e-0410-b603-e72c3f656dc1
2009-05-05 12:37:55 +00:00
paulc 1e30af892e Set the latest message in SIP client transactions. Compute user timeout from standard SIP timers.
git-svn-id: http://voip.null.ro/svn/yate@2442 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-16 14:59:27 +00:00
paulc 8f106b1639 Use the Human Interaction timer once we see any answer with code > 100
git-svn-id: http://voip.null.ro/svn/yate@2441 acf43c95-373e-0410-b603-e72c3f656dc1
2009-01-16 13:48:24 +00:00
paulc df4cb7b6a9 Use the MIME quoting method instead of blindly adding quotes around strings.
git-svn-id: http://voip.null.ro/svn/yate@2344 acf43c95-373e-0410-b603-e72c3f656dc1
2008-11-17 12:38:17 +00:00
paulc 5bb0e64069 Made SIPEvent::getMessage return a non-const, improved documentation.
git-svn-id: http://voip.null.ro/svn/yate@2163 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-15 12:10:14 +00:00
paulc 4d8ec63ac6 Added capability to skip the initial "100 Trying" for non-INVITE transactions.
git-svn-id: http://voip.null.ro/svn/yate@2146 acf43c95-373e-0410-b603-e72c3f656dc1
2008-08-06 17:16:34 +00:00
paulc bbc0dbea91 Add configure time LDFLAGS to linker command line.
git-svn-id: http://voip.null.ro/svn/yate@2006 acf43c95-373e-0410-b603-e72c3f656dc1
2008-06-03 10:59:16 +00:00
paulc 38334a727c Detect and drop the calls for which a proper transaction ACK was not received.
git-svn-id: http://voip.null.ro/svn/yate@1892 acf43c95-373e-0410-b603-e72c3f656dc1
2008-04-10 18:08:40 +00:00
paulc 25dbed9cde 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://voip.null.ro/svn/yate@1631 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-15 15:15:44 +00:00
marian 9ebac2f423 Fixed incorrect content length header when building a message.
git-svn-id: http://voip.null.ro/svn/yate@1620 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-11 14:48:53 +00:00
marian ff1b2e26d8 Fixed message body build buffer to deal with additional body headers and mime multiparts.
git-svn-id: http://voip.null.ro/svn/yate@1619 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-11 14:23:56 +00:00
marian afded714aa Added MIME body constructors from a header line. Adjusted SIP message parser to handle this.
git-svn-id: http://voip.null.ro/svn/yate@1607 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-09 11:32:35 +00:00
marian 648b9c82b1 Moved header classes and some utilities from SIP to MIME. Updated SIP module and library to reflect the changes.
git-svn-id: http://voip.null.ro/svn/yate@1599 acf43c95-373e-0410-b603-e72c3f656dc1
2008-01-08 12:29:12 +00:00
paulc 7366b0ff87 Return pending and outgoing events of all transactions before trying to create new ones.
git-svn-id: http://voip.null.ro/svn/yate@1515 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-30 16:46:06 +00:00
paulc 3a842d2aea Accept requests with a CSeq sequence number of 0, they are valid.
git-svn-id: http://voip.null.ro/svn/yate@1482 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-21 18:22:06 +00:00
paulc c4eecf9846 Fixed Remote-Party-ID generation, allow creating From without user part by unsetting the caller parameter.
git-svn-id: http://voip.null.ro/svn/yate@1481 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-21 01:08:14 +00:00
paulc d32c220960 Directory reorder #3
git-svn-id: http://voip.null.ro/svn/yate@1476 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-15 23:06:36 +00:00
paulc 0a3b86d8f4 Directory reorder #1
git-svn-id: http://voip.null.ro/svn/yate@1474 acf43c95-373e-0410-b603-e72c3f656dc1
2007-11-15 22:08:39 +00:00