- add reliable_1xx REL100_IGNORED, where all rel100 stuff is ignored
- set B2B sessions as reliable_1xx=REL100_IGNORED
- translate RAck Cseq
- for this: adds rack_method and rack_cseq to sip request (should possibly be reworked to use some dynamic field)
- relay Rseq (if exist)
The 100rel logic moved in great part to AmSipDialog; this way, it can be
hooked directly to request/reply processing routines, the ones on top of
the transactional layer (::updateStatus(..)).
This allows to:
- better control when to push the messages into the AmSession's
onSipRequest/~Reply, fixing some issues with applications that received
replies, but without sending themselves the requests
- insert needed headers, no matter which request function is used
(::invite() vs. ..sendRequest())
- B2BUA app with SIP Session Timer (SST) now can also use UPDATE
(see session_refresh_method in sst_b2b.conf)
- if re-INVITE is used, normal SDP OA (INVITE+SDP/200+SDP) is done
using last established SDP (instead of delayed SDP negotiation
and SDP ping-pong)
- SDP is compared only after o= line (no SDP ping-pong with UAs which
always increase SDP version)
The incoming INVITE establishind a call is passed in
signaling only B2B mode to the B leg, which tries to
send it to the request URI.
SIP Session Timers are enabled on both legs. When the
timer expires, an empty INVITE is sent, and the resulting
SDP offer from body of the 200 is relayed into the other
leg, where it is sent out as INVITE with the offer. The
answer from B leg is relayed into A leg and sent as body
in ACK message.
SST expiration is configurable in confi file.
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1821 8eb893ce-cfd4-0310-b710-fb5ebe64c474
note this effects only applications where call is accepted before creating
second call leg, i.e. it does not affect call_timer/auth_b2b.
based on a patch by Tom van der Geer
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1362 8eb893ce-cfd4-0310-b710-fb5ebe64c474
o don't call terminateLeg() on negative reply on callee leg, only setStopped()
(sessions would be in disconnecting state and not being stopped)
o add monitoring
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1273 8eb893ce-cfd4-0310-b710-fb5ebe64c474
o moved adding Max-Forwards from ctrl plugins to AmSipDialog
o moved adding User-Agent from ctrl plugins to AmSipDialog
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@760 8eb893ce-cfd4-0310-b710-fb5ebe64c474
The patch is developed on FreeBSD 4.11-RELEASE and gcc 2.95.4, but is
expected to run on other BSD systems as well.
Note that it is "not done" to replace the gcc in a BSD base system,
hence the support for an older gcc.
The changes are minor:
* corrections in typing matters, including more header files
* alternative handling option for varargs in #define for pre-GCC3
* lowering the default UNIX_PATH_MAX value to 104 instead of 108
* clearing memory intended to store socket addresses
* a few remarks for FreeBSD-adopters and/or porters
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@39 8eb893ce-cfd4-0310-b710-fb5ebe64c474