Zero-connection flag controls whether the connection
address offered in the SDP body going towards recipient
(the one who will receive the MoH media), is set
to all zeroes.
Is declared as: moh=[connection=zero]
Can be useful for older client implementations,
who want to see zeroed media when receiving sendonly
and getting put on hold.
Must be advertised once during the session origination,
and then will affect the SDP body as soon as SDP sendonly
body is received (from the behalf of one, who advertised MoH
capabilities).
SDP body recovers to the real IP addresses being inserted
into recipient's SDP, as soon as the media gets unheld.
Backwards compatibility: doesn't affect non-MoH calls.
And doesn't affect offer/answer exchanges within MoH calls,
which do not put the remote side on hold.
Additionally: previously existing MoH test adopted.
Additionally: new test introduced to check the SDP content,
when using zero-connection flag.
Change-Id: If0c38a3d294e6d5fe3886bee19ff2382e5705f9a
offer('Music on hold - sendrecv and declared zero-connection',{ICE=>'remove',DTLS=>'off',moh=>{blob=>$wav_file,connection=>'zero',mode=>'sendrecv'}},<<SDP);
v=0
o=-15459970271INIP4198.51.100.1
s=tester
t=00
m=audio33041RTP/AVP8
c=INIP4198.51.100.1
a=sendrecv
----------------------------------
v=0
o=-15459970271INIP4198.51.100.1
s=tester
t=00
m=audioPORTRTP/AVP8
c=INIP4203.0.113.1
a=rtpmap:8PCMA/8000
a=sendrecv
a=rtcp:PORT
SDP
# declare that answerer is capable of moh (fake db-id)
answer('Music on hold - sendrecv and declared zero-connection',{ICE=>'remove',moh=>{'db-id'=>'123',connection=>'zero',mode=>'sendrecv'}},<<SDP);
v=0
o=-15459970271INIP4198.51.100.3
s=tester
t=00
m=audio33042RTP/AVP8
c=INIP4198.51.100.3
a=sendrecv
--------------------------------------
v=0
o=-15459970271INIP4198.51.100.3
s=tester
t=00
m=audioPORTRTP/AVP8
c=INIP4203.0.113.1
a=rtpmap:8PCMA/8000
a=sendrecv
a=rtcp:PORT
SDP
# offerer puts on hold
offer('Music on hold - MoH set by offerer and declared zero-connection',{ICE=>'remove',DTLS=>'off'},<<SDP);