The following examples describe the MSML Audit Conference Package and the MSML Audit Connection Package, and their use together with the MSML Audit Dialog Package or/and the MSML Audit Stream Package.
14.1. Audit All Conferences
This example describes an audit of all active conferences on the media server, querying the conference configurations.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conf:*" statelist="audit.conf.confconfig.*"/>
The following result assumes two conferences currently allocated by the media server. Conference "conf:1" contains both an audio mixer (with ASN enabled) and a video layout (vas) created, while conference "conf:2" contains only an audio mixer created with ASN disabled.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<result response="200">
<auditresult targetid="conf:1">
<confconfig deletewhen="nocontrol" term="true">
<audiomix id="audiomix1">
<asn ri="5s"/>
<n-loudest n="16"/>
</audiomix>
<videolayout id="videolayout1"
type="text/msml-basic-layout">
<selector id="selector1" method="vas" si="5s"
speakersees="current">
<root size="CIF"/>
</selector>
</videolayout>
<controller>conn:1234</controller>
</confconfig>
</auditresult>
<auditresult targetid="conf:2">
<confconfig deletewhen="nomedia" term="true">
<audiomix id="audiomix2">
<n-loudest n="1"/>
</audiomix>
<controller>conn:1234</controller>
</confconfig>
</auditresult>
</result>
</msml>
14.2. Audit Conference Dialogs
This example describes an audit of active dialogs on a specific conference. The request queries all available dialog states.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conf:1" statelist="audit.conf.dialog.*"/>
</msml>
The example result assumes a single dialog running on conference "conf:1", which has been running for 60 seconds, and the dialog is currently executing a record operation.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<result response="200">
<auditresult targetid="conf:1">
<dialog name="sample">
<duration>60</duration>
<primitive>record</primitive>
<controller>conn:1234</controller>
</dialog>
</auditresult>
</result>
</msml>
14.3. Audit Conference Streams
This example request describes an audit of active streams on a specific conference. The request queries all available stream states.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conf:1" statelist="audit.conf.stream.*"/>
</msml>
The example result assumes three audio participants in the
conference. Connection "conn:1234" is a talk-listen participant with both clamp and gain control enabled. Connection "conn:1235" is a talk-only participant. Connection "conn:1236" is a listen-only participant with automatic gain control enabled.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<result response="200">
<auditresult targetid="conf:1">
<stream joinwith="conn:1234" media="audio" dir="to">
<clamp dtmf="true" tone="false"/>
<gain amt="-10"/>
</stream>
<stream joinwith="conn:1234" media="audio" dir="from">
<gain amt="10"/>
</stream>
<stream joinwith="conn:1235" media="audio" dir="to">
</stream>
<stream joinwith="conn:1236" media="audio" dir="from">
<gain agc="true" tgtlvl="0" maxgain="10"/>
</stream>
</auditresult>
</result>
</msml>
14.4. Audit All Connections
This example request describes an audit of all active connections on the media server. No additional state is queried.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conn:*"/>
</msml>
The example result assumes five connections currently allocated by the media server.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<result response="200">
<auditresult targetid="conn:1230"/>
<auditresult targetid="conn:1231"/>
<auditresult targetid="conn:1232"/>
<auditresult targetid="conn:1233"/>
<auditresult targetid="conn:1234"/>
</result>
</msml>
14.5. Audit Connection Dialogs
This example request describes an audit of active dialogs on a specific connection. No additional dialog state is queried.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conn:1234" statelist="audit.conn.dialog"/>
</msml>
The example result assumes three dialogs running on the connection.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<result response="200">
<auditresult targetid="conn:1234">
<dialog name="sample1"/>
<dialog name="sample2"/>
<dialog name="sample3"/>
</auditresult>
</result>
</msml>
14.6. Audit Connection Streams
This example request describes an audit of active streams on a specific connection. No additional stream state is queried.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conn:1234" statelist="audit.conn.stream"/>
</msml>
The example result assumes three audio streams created between target connection and other MSML objects, one of which is a bidirectional stream between target connection and a conference, and two are unidirectional streams between two other connections.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<result response="200">
<auditresult targetid="conn:1234">
<stream joinwith="conf:1" media="audio" dir="to"/>
<stream joinwith="conf:1" media="audio" dir="from"/>
<stream joinwith="conn:1235" media="audio" dir="to"/>
<stream joinwith="conn:1236" media="audio" dir="from"/>
</auditresult>
</result>
</msml>
14.7. Audit Connection with Selective States
This example describes an audit of a specific connection, querying associated SIP dialog ID and SDP info.
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
<audit queryid="conn:1234" statelist="audit.conn.sipdialog audit.conn.localsdp audit.conn.remotesdp"/>
</msml>
<?xml version="1.0" encoding="UTF-8"?>
<msml version="1.1">
a=sendrecv </remotesdp>
</auditresult>
</result>
</msml>