applications which are doing outbound calls should implement
onFailedOutboundCall if the behavior should be different than
setting stopped.
Reported by Andrei Samusenko
first version, wip.
todo:
- variable number of streams (now fixed to 3 - consumes many ports)
- symmetric RTP
- multi interfaces
- optimization: parse SDP only once, pass AmSdp object with request event
SIP message processing and Session event processing are now
enclosed in blocks with the form
vv <type> [<callid>|<ltag>] ... vv
^^ <type> [<callid>|<ltag>] ... ^^
where
<type> = M SIP message processing
<type> = S Session event processing
- 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)