<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="../plugin.xsl" type="text/xsl"?>
<plugin name="RtpInjector">
  <object class="org.ow2.isac.plugin.rtpinjector.SessionObject">
    <params />
    <help>RtpInjector is a plug-in for CLIF. It allows you to send and receive RTP and RTCP packets to test an equipment or a software.

This plug-in doesn't control yours parameters, so it is important to know how RTP works before using it.

To add multiples vUsers, you have to use Counter plug-in or CsvProvider plug-in because it can have only one user per port.

Fields with (*) are mandatory.
Fields with (-) are automatically generated if they are empty, because they are mandatory.

In this version, it permits to send request based on RFC 3550 and RFC 4733.

Version: 1.0</help>
  </object>
  <control name="initRtp" number="11">
    <params>
      <param name="localIpAddress" type="String" />
      <param name="localPort" type="String" />
      <param name="remoteAddress" type="String" />
      <param name="remotePort" type="String" />
      <param name="timeOut" type="String" />
      <param name="duration" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Initialize a RTP Session.</help>
  </control>
  <control name="send" number="8">
    <params>
      <param name="content" type="String" />
      <param name="time" type="String" />
      <param name="version" type="String" />
      <param name="padding" type="String" />
      <param name="extension" type="String" />
      <param name="csrcCount" type="String" />
      <param name="marker" type="String" />
      <param name="payloadType" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Send a file.</help>
  </control>
  <control name="forward" number="9">
    <params>
      <param name="listeningPort" type="String" />
      <param name="duration" type="String" />
      <param name="packetSize" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Forward a RTP stream.</help>
  </control>
  <control name="dtmf" number="12">
    <params>
      <param name="digit" type="String" />
      <param name="time" type="String" />
      <param name="volume" type="String" />
      <param name="dtmfType" type="String" />
      <param name="version" type="String" />
      <param name="padding" type="String" />
      <param name="extension" type="String" />
      <param name="csrcCount" type="String" />
      <param name="marker" type="String" />
      <param name="payloadType" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Send a DTMF digit using RFC 4733 (previously RFC 2833).

DTMF using frequency are not implemented for now.</help>
  </control>
  <control name="enableRtcp" number="13">
    <params>
      <param name="timeInterval" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Enable RTCP in the RTP stream. It create a template of RTCP packet by adding followings controls :
- addReport,
- addSdes,
- addApp.

If you add control addBye, the RTCP BYE packet will be send at the end of the transmission.</help>
  </control>
  <control name="addReport" number="14">
    <params>
      <param name="Session ID" type="String" />
    </params>
    <help>Add report to the template.</help>
  </control>
  <control name="addSdes" number="16">
    <params>
      <param name="items" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Add SDES to the template.

Available items are :
- CNAME,
- NAME, 
- EMAIL,
- PHONE,
- LOC,
- TOOL,
- NOTE,
- PRIV.</help>
  </control>
  <control name="addBye" number="17">
    <params>
      <param name="reason" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Will send RTCP BYE at the end of the transmission.</help>
  </control>
  <control name="addApp" number="18">
    <params>
      <param name="name" type="String" />
      <param name="data" type="String" />
      <param name="subtype" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Add APP to the template.

The subtype must be a number includes between 0 and 31.

The data to transmit in the packet must be less or egals to 500 bytes.

Need FileReader plug-in to work. Add ${name_of_your_filereader_plugin:} to the field "URL of the data file".</help>
  </control>
  <control name="resetRtcpPacket" number="19">
    <params>
      <param name="Session ID" type="String" />
    </params>
    <help>Reset the template of the RTCP packet and disable RTCP from the scenario.</help>
  </control>
  <control name="sendBye" number="20">
    <params>
      <param name="reason" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Send a RTCP BYE for each users.</help>
  </control>
  <control name="sendReceiverReport" number="21">
    <params>
      <param name="Session ID" type="String" />
    </params>
    <help>Send RTCP receiver report.</help>
  </control>
  <test name="isRtcpBye" number="22">
    <params>
      <param name="notChoice" type="String" />
      <param name="Session ID" type="String" />
    </params>
    <help>Test if a BYE from this session have been received.</help>
  </test>
</plugin>

