/******************************************************************************
* Copyright (c) 2000-2023 Ericsson Telecom AB
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
*
* Contributors:
*   Gabor Szalai - initial implementation and initial documentation
*   Peter Kremer
*   Sandor Palugyai
*   Tibor Harai
******************************************************************************/
module Payloadgen_Types
{
	external function f_generate_comfort_noise(in integer level, in Coefficient_list coefficients) return octetstring;
	external function f_generate_tones_events(in Tones_DTMFs events_dtmfs) return octetstring;
	
	type bitstring BSTR1 length(1);
	type record of integer Frequency_list;
	type record of float Coefficient_list;
	type record DTMF_Event_Type
	{
		integer event,
		BSTR1	E_bit,
		integer volume,
		integer duration
	}
	
	type record Telephony_Tone_Type
	{
		integer modulation,
		BSTR1	T_bit,
		integer volume,
		integer duration,
		Frequency_list frequencies
	}
	
	type union Tone_or_DTMF_Type
	{
		Telephony_Tone_Type tone,
		DTMF_Event_Type dtmf
	}
	
	type record Tone_DTMF_Type
	{
		integer pt,
		integer ts_offset,
		Tone_or_DTMF_Type tod
	}
	
	type record of Tone_DTMF_Type Tones_DTMFs;
}
