<?
/**
 * VoiceOne Webservices Declarations
 *   
 * @package voiceone_webservices
 * @subpackage Core
 */
// ---- int[] ------------------------------------------------------------------

$server->wsdl->addComplexType(
    'intArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:int[]')
    ),
    'xsd:int'
);

// ---- string[] ------------------------------------------------------------------

$server->wsdl->addComplexType(
    'stringArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]')
    ),
    'xsd:string'
);

// ---- matrix[] -----------------------------------------------------------------

$server->wsdl->addComplexType(
    'matrixArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:stringArray[]')
    ),
    'xsd:stringArray'
);



// ---- Associative -----------------------------------------------------------------

$server->wsdl->addComplexType(
    'Associative',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'key'            => array('name'=>'key',  'type'=>'xsd:string'),
        'value'          => array('name'=>'value','type'=>'xsd:string')
    )
);

// ---- AssociativeArray[] ---------------------------------------------------------------

$server->wsdl->addComplexType(
    'AssociativeArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Associative[]')),
    'tns:Associative'
);


// ---- Entity -----------------------------------------------------------------

$server->wsdl->addComplexType(
    'Entity',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'            => array('name'=>'id','type'=>'xsd:int'),
        'type'          => array('name'=>'type','type'=>'xsd:int')
    )
);

// ---- Entity[] ---------------------------------------------------------------

$server->wsdl->addComplexType(
    'EntityArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Entity[]')),
    'tns:Entity'
);


// ---- Group ------------------------------------------------------------------

$server->wsdl->addComplexType(
    'Group',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'type'        => array('name'=>'type','type'=>'xsd:int'),
        'metagroup'   => array('name'=>'metagroup','type'=>'xsd:int'),
        'entity'      => array('name'=>'entity','type'=>'tns:intArray')
    )
);

// ---- Group[] -------------------------------------------------------------

$server->wsdl->addComplexType(
    'GroupArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Group[]')
    ),
    'tns:Group'
);

// ---- Client -----------------------------------------------------------------
$server->wsdl->addComplexType(
    'Client',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'surname'     => array('name'=>'surname','type'=>'xsd:string'),
        'extension'   => array('name'=>'extension','type'=>'xsd:string'),
        'alias'       => array('name'=>'alias','type'=>'xsd:string'),
        'username'    => array('name'=>'username','type'=>'xsd:string'),
        'password'    => array('name'=>'password','type'=>'xsd:string'),
        'language'    => array('name'=>'language','type'=>'xsd:string'),
        'options'     => array('name'=>'options','type'=>'tns:AssociativeArray'),
        'groups'      => array('name'=>'groups','type'=>'tns:intArray'),
        'rule'        => array('name'=>'rule','type'=>'xsd:int'),
        'technology'  => array('name'=>'technology','type'=>'xsd:int'),
        'voicemail'   => array('name'=>'voicemail','type'=>'tns:VoiceMail'),
        'location'    => array('name'=>'location',  'type'=>'xsd:int'),
        'area_code'   => array('name'=>'area_code', 'type'=>'xsd:string')
    )
);
// ---- Client[] ---------------------------------------------------------------
$server->wsdl->addComplexType(
    'ClientArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Client[]')
    ),
    'tns:Client'
);
// ---- queueMember ------------------------------------------------------------
$server->wsdl->addComplexType(
    'queueMember',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'priority'    => array('name'=>'priority','type'=>'xsd:int')
    )
);
// ---- queueMember[] ----------------------------------------------------------
$server->wsdl->addComplexType(
    'queueMemberArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:queueMember[]')
    ),
    'tns:queueMember'
);
// ---- Agent -----------------------------------------------------------------
$server->wsdl->addComplexType(
    'Agent',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'client'      => array('name'=>'entity_id','type'=>'xsd:int'),
        'extension'   => array('name'=>'extension','type'=>'xsd:string'),
        'username'    => array('name'=>'username','type'=>'xsd:string'),
        'password'    => array('name'=>'password','type'=>'xsd:string'),
        'joined_queues' => array('name'=>'joined_queues','type'=>'tns:queueMemberArray')
    )
);
// ---- Agent[] ---------------------------------------------------------------
$server->wsdl->addComplexType(
    'AgentArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Agent[]')
    ),
    'tns:Agent'
);
// ---- VirtualExtension -------------------------------------------------------
$server->wsdl->addComplexType(
    'VirtualExtension',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'surname'     => array('name'=>'surname','type'=>'xsd:string'),
        'extension'   => array('name'=>'extension','type'=>'xsd:string'),
        'username'    => array('name'=>'username','type'=>'xsd:string'),
        'password'    => array('name'=>'password','type'=>'xsd:string'),
        'language'    => array('name'=>'language','type'=>'xsd:string'),
        'linked_clients'  => array('name'=>'linked_clients','type'=>'tns:intArray'),
        'groups'      => array('name'=>'groups','type'=>'tns:intArray'),
        'rule'        => array('name'=>'rule','type'=>'xsd:int'),        
        'voicemail'   => array('name'=>'voicemail','type'=>'tns:VoiceMail'),
        'cid'   			=> array('name'=>'cid','type'=>'tsn:CidArray'),
        'location'    => array('name'=>'location',  'type'=>'xsd:int'),
        'area_code'   => array('name'=>'area_code', 'type'=>'xsd:string')
    )
);
// ---- VirtualExtension[] -----------------------------------------------------
$server->wsdl->addComplexType(
    'VirtualExtensionArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:VirtualExtension[]')
    ),
    'tns:VirtualExtension'
);

// ---- Cid -----------------------------------------------------------------
$server->wsdl->addComplexType(
    'Cid',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'trunk'       => array('name'=>'trunk','type'=>'xsd:int'),
        'extension'   => array('name'=>'extension','type'=>'xsd:int'),
        'clir'        => array('name'=>'clir','type'=>'xsd:int'),
        'cid_number'  => array('name'=>'cid_number','type'=>'xsd:string'),
        'cid_name'    => array('name'=>'cid_name','type'=>'xsd:string')
    )
);
// ---- Cid[] ---------------------------------------------------------------
$server->wsdl->addComplexType(
    'CidArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Cid[]')
    ),
    'tns:Cid'
);
/* USED BY mISDN */
// ---- ChannelCid -------------------------------------------------------------
$server->wsdl->addComplexType(
    'ChannelCid',
    'complexType',
    'struct',
    'all',
    '',
    array(
    		'enable_cid'  => array('name'=>'enable_cid',	'type'=>'xsd:int'),
        'cid_list'    => array('name'=>'cid_list',  	'type'=>'tns:stringArray'),
        'cid_number'  => array('name'=>'cid_number',	'type'=>'xsd:string'),
        'cid_name'    => array('name'=>'cid_name',  	'type'=>'xsd:string'),
        'cid_appexten'=> array('name'=>'cid_appexten','type'=>'xsd:int'),
        'force_cid'   => array('name'=>'force_cid', 	'type'=>'xsd:int'),
        'clir'        => array('name'=>'clir',      	'type'=>'xsd:int')
    )
);
// ---- ChannelCid[] -----------------------------------------------------------
$server->wsdl->addComplexType(
    'ChannelCidArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:ChannelCid[]')
    ),
    'tns:ChannelCid'
);


// ---- Office -------------------------------------------------------------

$server->wsdl->addComplexType(
    'Office',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'label'       => array('name'=>'label','type'=>'xsd:string'),
        'speeddial'   => array('name'=>'speeddial',   'type'=>'xsd:string'),
        'host'        => array('name'=>'host','type'=>'xsd:string'),
        'port'        => array('name'=>'port','type'=>'xsd:int'),
        'inkey'       => array('name'=>'inkey','type'=>'xsd:string'),
        'username'    => array('name'=>'username','type'=>'xsd:string'),
        'password'    => array('name'=>'password','type'=>'xsd:string'),
        'register'    => array('name'=>'register','type'=>'xsd:int'),
        'did'         => array('name'=>'did','type'=>'xsd:string'),
        'alias'       => array('name'=>'alias','type'=>'tns:intArray'),
        'numbers'     => array('name'=>'numbers','type'=>'tns:intArray'),
        'groups'      => array('name'=>'groups','type'=>'tns:intArray'),
        'options'     => array('name'=>'options','type'=>'tns:AssociativeArray'),
        'rule'        => array('name'=>'rule','type'=>'xsd:int'),
        'cid_list'    => array('name'=>'cid_list',  'type'=>'tns:stringArray'),
        'cid_number'  => array('name'=>'cid_number','type'=>'xsd:string'),
        'cid_name'    => array('name'=>'cid_name',  'type'=>'xsd:string'),
        'cid_appexten'=> array('name'=>'cid_appexten','type'=>'xsd:int'),
        'force_cid'   => array('name'=>'force_cid', 'type'=>'xsd:int'),
        'clir'        => array('name'=>'clir',      'type'=>'xsd:int'),
        'location'    => array('name'=>'location',  'type'=>'xsd:int'),
        'area_code'   => array('name'=>'area_code', 'type'=>'xsd:string'),
        'prefix_policy'=> array('name'=>'prefix_policy',  'type'=>'xsd:int'),
        'prefix_format'=> array('name'=>'prefix_format',  'type'=>'xsd:int')
    )
);

// ---- Office[] --------------------------------------------------------------

$server->wsdl->addComplexType(
    'OfficeArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Office[]')
    ),
    'tns:Office'
);

// ---- Provider ---------------------------------------------------------------

$server->wsdl->addComplexType(
    'Provider',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'type'        => array('name'=>'type','type'=>'xsd:int'),
        'host'        => array('name'=>'host','type'=>'xsd:string'),
        'port'        => array('name'=>'port','type'=>'xsd:string'),
        'technology'  => array('name'=>'technology','type'=>'xsd:int'),
        'accounts'    => array('name'=>'accounts','type'=>'tns:ProviderAccountArray')
    )
);

// ---- Provider[] -------------------------------------------------------------

$server->wsdl->addComplexType(
    'ProviderArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Provider[]')
    ),
    'tns:Provider'
);

// ---- ProviderAccount --------------------------------------------------------
$server->wsdl->addComplexType(
    'ProviderAccount',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id',          'type'=>'xsd:int'),
        'name'        => array('name'=>'name',        'type'=>'xsd:string'),
        'provider'    => array('name'=>'provider',    'type'=>'xsd:int'),
        'port'        => array('name'=>'port',        'type'=>'xsd:string'),
        'speeddial'   => array('name'=>'speeddial',   'type'=>'xsd:string'),
        'username'    => array('name'=>'username',    'type'=>'xsd:string'),
        'password'    => array('name'=>'password',    'type'=>'xsd:string'),
        'allow_in'    => array('name'=>'allow_in',    'type'=>'xsd:int'),
        'contact_extension' => array('name'=>'contact_extension','type'=>'xsd:string'),
        'numbers'     => array('name'=>'numbers',     'type'=>'tns:intArray'),
        'did'         => array('name'=>'did',         'type'=>'xsd:string'),
        'options'     => array('name'=>'options',     'type'=>'tns:AssociativeArray'),
        'enable_cid'  => array('name'=>'enable_cid',  'type'=>'xsd:int'),
        'cid_number'  => array('name'=>'cid_number',  'type'=>'xsd:string'),
        'cid_name'    => array('name'=>'cid_name',    'type'=>'xsd:string'),
        'cid_appexten'=> array('name'=>'cid_appexten','type'=>'xsd:int'),
        'force_cid'   => array('name'=>'force_cid',   'type'=>'xsd:int'),
        'clir'        => array('name'=>'clir',        'type'=>'xsd:int'),
        'location'    => array('name'=>'location',  'type'=>'xsd:int'),
        'area_code'   => array('name'=>'area_code', 'type'=>'xsd:string'),
        'prefix_policy'=> array('name'=>'prefix_policy',  'type'=>'xsd:int'),
        'prefix_format'=> array('name'=>'prefix_format',  'type'=>'xsd:int')
    )
);
// ---- ProviderAccount[] ------------------------------------------------------
$server->wsdl->addComplexType(
    'ProviderAccountArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:ProviderAccount[]')
    ),
    'tns:ProviderAccount'
);
// ---- Technology ---------------------------------------------------------------

$server->wsdl->addComplexType(
    'Technology',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'voip'        => array('name'=>'voip','type'=>'xsd:int'),
        'config_file' => array('name'=>'config_file','type'=>'xsd:string'),
        'realtime'    => array('name'=>'realtime','type'=>'xsd:int'),
        'table'       => array('name'=>'table','type'=>'xsd:string')
    )
);

// ---- Technology[] -------------------------------------------------------------

$server->wsdl->addComplexType(
    'TechnologyArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Technology[]')
    ),
    'tns:Technology'
);

// ---- PhoneNumber ------------------------------------------------------------

$server->wsdl->addComplexType(
    'PhoneNumber',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'        => array('name'=>'id','type'=>'xsd:int'),
        'name'      => array('name'=>'name','type'=>'xsd:string'),
        'number'    => array('name'=>'number','type'=>'tns:stringArray'),
        'emergency' => array('name'=>'emergendy','type'=>'xsd:int'),
        'groups'    => array('name'=>'groups','type'=>'tns:intArray')
    )
);

// ---- PhoneNumber[] ----------------------------------------------------------

$server->wsdl->addComplexType(
    'PhoneNumberArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:PhoneNumber[]')),
    'tns:PhoneNumber'
);


// ---- Queue ------------------------------------------------------------------

$server->wsdl->addComplexType(
    'Queue',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'member'      => array('name'=>'member','type'=>'tns:queueMember'),
        'options'     => array('name'=>'options','type'=>'tns:AssociativeArray')
    )
);

// ---- Queue[] -------------------------------------------------------------

$server->wsdl->addComplexType(
    'QueueArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Queue[]')
    ),
    'tns:Queue'
);

// ---- IvrNode ----------------------------------------------------------------

$server->wsdl->addComplexType(
    'IvrNode',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'type'        => array('name'=>'type','type'=>'xsd:int'),
        'parent'      => array('name'=>'parent','type'=>'xsd:int'),
        'order'       => array('name'=>'order','type'=>'xsd:int'),
        'key'         => array('name'=>'key','type'=>'xsd:string'),
        'maudio'      => array('name'=>'maudio','type'=>'xsd:int'),
        'waudio'      => array('name'=>'waudio','type'=>'xsd:int'),
        'beep'        => array('name'=>'beep','type'=>'xsd:int'),
        'macro'       => array('name'=>'macro','type'=>'xsd:int'),
        'parameter'   => array('name'=>'parameter','type'=>'xsd:string'),
        'link'        => array('name'=>'link','type'=>'xsd:int'),
        'timesegment' => array('name'=>'timesegment','type'=>'xsd:int'),
        'taudio'      => array('name'=>'taudio','type'=>'xsd:int'),
        'trepeat'     => array('name'=>'trepeat','type'=>'xsd:int'),
        'ttimes'      => array('name'=>'ttimes','type'=>'xsd:int'),
        'iaudio'      => array('name'=>'iaudio','type'=>'xsd:int'),
        'irepeat'     => array('name'=>'irepeat','type'=>'xsd:int'),
        'itimes'      => array('name'=>'itimes','type'=>'xsd:int'),
        'tmacro'       => array('name'=>'tmacro','type'=>'xsd:int'),
        'tparameter'   => array('name'=>'tparameter','type'=>'xsd:string'),
        'imacro'       => array('name'=>'imacro','type'=>'xsd:int'),
        'iparameter'   => array('name'=>'iparameter','type'=>'xsd:string')
    )
);

// ---- IvrNode[] -------------------------------------------------------------

$server->wsdl->addComplexType(
    'IvrNodeArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:IvrNode[]')
    ),
    'tns:IvrNode'
);



// ---- Option ------------------------------------------------------------------

$server->wsdl->addComplexType(
    'Option',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'                  => array('name'=>'id',       'type'=>'xsd:int'),
        'general_section'     => array('name'=>'general_section',     'type'=>'xsd:int'),
        'default_section'     => array('name'=>'default_section',     'type'=>'xsd:int'),
        'advanced_option'     => array('name'=>'advanced_option',     'type'=>'xsd:int'),
        'name'                => array('name'=>'name',     'type'=>'xsd:string'),
        'value'               => array('name'=>'value',    'type'=>'xsd:string'),
        'category'            => array('name'=>'category', 'type'=>'xsd:string'),
        'default'             => array('name'=>'default',  'type'=>'xsd:string'),
        'valuelist'           => array('name'=>'valuelist','type'=>'xsd:string'),
        'type'                => array('name'=>'type',     'type'=>'xsd:string'),
        'comment'             => array('name'=>'comment',  'type'=>'xsd:string'),
        'commented'           => array('name'=>'commented','type'=>'xsd:int')
    )
);

// ---- Option[] -------------------------------------------------------------

$server->wsdl->addComplexType(
    'OptionArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Option[]')
    ),
    'tns:Option'
);


// ---- Action --------------------------------------------------------

$server->wsdl->addComplexType(
    'Action',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'       => array('name'=>'id',   'type'=>'xsd:int'),
        'name'     => array('name'=>'name','type'=>'xsd:string'),
        'fax'      => array('name'=>'fax',   'type'=>'xsd:int'),
        'app'      => array('name'=>'app','type'=>'tns:stringArray'),
        'appdata'  => array('name'=>'appdata','type'=>'tns:stringArray')
    )
);

// ---- Action[] ------------------------------------------------------

$server->wsdl->addComplexType(
    'ActionArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Action[]')
    ),
    'tns:Action'
);

// ---- VoiceMail --------------------------------------------------------------

$server->wsdl->addComplexType(
    'VoiceMail',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id',          'type'=>'xsd:int'),
        'mailbox'     => array('name'=>'mailbox',     'type'=>'xsd:int'),
        'fullname'    => array('name'=>'fullname',    'type'=>'xsd:string'),
        'password'    => array('name'=>'password',    'type'=>'xsd:string'),
        'email'       => array('name'=>'email',       'type'=>'xsd:string'),
        'attach'      => array('name'=>'attach',      'type'=>'xsd:string'),
        'saycid'      => array('name'=>'saycid',      'type'=>'xsd:string'),
        'hidefromdir' => array('name'=>'hidefromdir', 'type'=>'xsd:string')
    )
);

// ---- VoiceMail[] ------------------------------------------------------

$server->wsdl->addComplexType(
    'VoiceMailArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:VoiceMail[]')
    ),
    'tns:VoiceMail'
);

// ---- Directory --------------------------------------------------------------

$server->wsdl->addComplexType(
    'Directory',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'        => array('name'=>'id',      'type'=>'xsd:int'),
        'name'      => array('name'=>'name',    'type'=>'xsd:string'),
        'surname'   => array('name'=>'surname', 'type'=>'xsd:string'),
        'extension' => array('name'=>'extension',    'type'=>'xsd:string'),
        'status'    => array('name'=>'status',  'type'=>'xsd:string')
    )
);

// ---- Directory[] ------------------------------------------------------

$server->wsdl->addComplexType(
    'DirectoryArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Directory[]')
    ),
    'tns:Directory'
);

// ---- User --------------------------------------------------------------

$server->wsdl->addComplexType(
    'User',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'        => array('name'=>'id',       'type'=>'xsd:int'),
        'fullname'  => array('name'=>'fullname', 'type'=>'xsd:string'),
        'username'  => array('name'=>'username', 'type'=>'xsd:string'),
        'password'  => array('name'=>'password', 'type'=>'xsd:string'),
        'lang'      => array('name'=>'lang',     'type'=>'xsd:string'),
        'entity_id' => array('name'=>'entity_id','type'=>'xsd:int'),
        'exten'     => array('name'=>'exten',    'type'=>'xsd:string'),
        'technology'=> array('name'=>'technology','type'=>'xsd:int'),
        'type'      => array('name'=>'type',     'type'=>'xsd:int'),
        'active'    => array('name'=>'active',   'type'=>'xsd:int')
    )
);

// ---- User[] ------------------------------------------------------

$server->wsdl->addComplexType(
    'UserArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:User[]')
    ),
    'tns:User'
);

// ---- CDR Request (call detail report)------------------------------------------------
$server->wsdl->addComplexType(
    'CdrRequest',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'source'  => array('name'=>'source', 'type'=>'xsd:string'),
        'type'  => array('name'=>'type', 'type'=>'xsd:string'),
        'search'  => array('name'=>'search', 'type'=>'xsd:string'),
        'from'  => array('name'=>'from', 'type'=>'xsd:string'),
        'to'  => array('name'=>'to', 'type'=>'xsd:string'),
        'orderBy'  => array('name'=>'orderBy', 'type'=>'xsd:string'),
        'page'  => array('name'=>'page', 'type'=>'xsd:int')
    )
);
// ---- CDR (call detail report)------------------------------------------------
$server->wsdl->addComplexType(
    'Cdr',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'entity'  => array('name'=>'entity', 'type'=>'xsd:string'),
        'received'  => array('name'=>'received', 'type'=>'xsd:string'),
        'dialed'  => array('name'=>'dialed', 'type'=>'xsd:string'),
        'channel'  => array('name'=>'channel', 'type'=>'xsd:string'),
        'calldate'  => array('name'=>'calldate', 'type'=>'xsd:string'),
        'duration'  => array('name'=>'duration', 'type'=>'xsd:string')
    )
);

// ---- CDR[] ------------------------------------------------------
$server->wsdl->addComplexType(
    'CdrArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Cdr[]')
    ),
    'tns:Cdr'
);

// ---- TimeSegment ------------------------------------------------------------

$server->wsdl->addComplexType(
    'TimeSegment',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'  => array('name'=>'id', 'type'=>'xsd:int'),
        'name'  => array('name'=>'name', 'type'=>'xsd:string'),
        'date_from'  => array('name'=>'date_from', 'type'=>'xsd:string'),
        'date_to'  => array('name'=>'date_to', 'type'=>'xsd:string'),
        'hour_from'  => array('name'=>'hour_from', 'type'=>'xsd:string'),
        'hour_to'  => array('name'=>'hour_to', 'type'=>'xsd:string'),
        'week_day'  => array('name'=>'week_day', 'type'=>'xsd:string'),
        'day'  => array('name'=>'day', 'type'=>'xsd:string'),
        'month'  => array('name'=>'month', 'type'=>'xsd:string')
    )
);

// ---- TimeSegment[] ------------------------------------------------------

$server->wsdl->addComplexType(
    'TimeSegmentArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:TimeSegment[]')
    ),
    'tns:TimeSegment'
);


// ---- Macro ------------------------------------------------------------

$server->wsdl->addComplexType(
    'Macro',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'            => array('name'=>'id',          'type'=>'xsd:int'),
        'name'          => array('name'=>'name',        'type'=>'xsd:string'),
        'label'         => array('name'=>'label',       'type'=>'xsd:string'),
        'description'   => array('name'=>'description', 'type'=>'xsd:string'),
        'parameter'     => array('name'=>'parameter',   'type'=>'xsd:string'),
        'code'          => array('name'=>'code',        'type'=>'xsd:string'),
        'in_use'        => array('name'=>'in_use',      'type'=>'xsd:int')
    )
);

// ---- Macro[] ------------------------------------------------------

$server->wsdl->addComplexType(
    'MacroArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Macro[]')
    ),
    'tns:Macro'
);

// ---- Application ------------------------------------------------------------

$server->wsdl->addComplexType(
    'Application',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id','type'=>'xsd:int'),
        'name'        => array('name'=>'name','type'=>'xsd:string'),
        'label'       => array('name'=>'label','type'=>'xsd:string'),
        'description' => array('name'=>'description','type'=>'xsd:string'),
        'extension'   => array('name'=>'extension','type'=>'xsd:string'),
        'code'        => array('name'=>'code','type'=>'xsd:string'),
        'macro'       => array('name'=>'macro','type'=>'xsd:int'),
        'parameter'   => array('name'=>'parameter','type'=>'xsd:string'),
        'groups'      => array('name'=>'groups','type'=>'tns:intArray')
    )
);

// ---- Application[] ----------------------------------------------------------

$server->wsdl->addComplexType(
    'ApplicationArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Application[]')
    ),
    'tns:Application'
);

// ---- Plugin ------------------------------------------------------------

$server->wsdl->addComplexType(
    'Plugin',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'             => array('name'=>'id','type'=>'xsd:int'),
        'label'          => array('name'=>'label','type'=>'xsd:string'),
        'name'           => array('name'=>'name','type'=>'xsd:string'),
        'package_name'   => array('package_name'=>'entity','type'=>'xsd:string'),
        'version'        => array('name'=>'version','type'=>'xsd:string'),
    )
);

// ---- Plugin[] ----------------------------------------------------------

$server->wsdl->addComplexType(
    'PluginArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Plugin[]')
    ),
    'tns:Plugin'
);

// ---- PluginEntity ------------------------------------------------------------

$server->wsdl->addComplexType(
    'PluginEntity',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'plugin_id'        => array('name'=>'plugin_id','type'=>'xsd:int'),
        'entity_type'      => array('name'=>'entity_type','type'=>'xsd:string'),
        'entity_id'        => array('name'=>'entity_id','type'=>'xsd:int'),
        'entity_version'   => array('name'=>'entity_version','type'=>'xsd:string'),
        
    )
);

// ---- PluginEntity[] ----------------------------------------------------------

$server->wsdl->addComplexType(
    'PluginEntityArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:PluginEntity[]')
    ),
    'tns:PluginEntity'
);

// ---- Channel ------------------------------------------------------------

$server->wsdl->addComplexType(
    'Channel',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id',        'type'=>'xsd:int'),
        'name'        => array('name'=>'name',      'type'=>'xsd:string'),
        'technology'  => array('name'=>'technology','type'=>'xsd:int'), 
        'resource'    => array('name'=>'resource',  'type'=>'xsd:string'), 
        'key'         => array('name'=>'key',       'type'=>'xsd:int'), 
        'msns'        => array('name'=>'msns',      'type'=>'tns:stringArray'),
        'did'         => array('name'=>'did',       'type'=>'xsd:int'),
        'rule'        => array('name'=>'rule',      'type'=>'xsd:int'),
        'speeddial'   => array('name'=>'speeddial', 'type'=>'xsd:string'),
        'order'       => array('name'=>'order',     'type'=>'xsd:int'),
        'trunk'       => array('name'=>'trunk',     'type'=>'xsd:int'),
        'enable_cid'  => array('name'=>'enable_cid','type'=>'xsd:int'),
        'cid_list'    => array('name'=>'cid_list',  'type'=>'tns:stringArray'),
        'cid_number'  => array('name'=>'cid_number','type'=>'xsd:string'),
        'cid_name'    => array('name'=>'cid_name',  'type'=>'xsd:string'),
        'cid_appexten'=> array('name'=>'cid_appexten','type'=>'xsd:int'),
        'force_cid'   => array('name'=>'force_cid', 'type'=>'xsd:int'),
        'clir'        => array('name'=>'clir',      'type'=>'xsd:int'),
        'location'    => array('name'=>'location',  'type'=>'xsd:int'),
        'area_code'   => array('name'=>'area_code', 'type'=>'xsd:string'),
        'prefix_policy'=> array('name'=>'prefix_policy',  'type'=>'xsd:int'),
        'prefix_format'=> array('name'=>'prefix_format',  'type'=>'xsd:int')
    )
);

// ---- Channel[] ----------------------------------------------------------

$server->wsdl->addComplexType(
    'ChannelArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Channel[]')
    ),
    'tns:Channel'
);

// ---- AudioFile ------------------------------------------------------------

$server->wsdl->addComplexType(
    'AudioFile',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id',        'type'=>'xsd:int'),
        'name'        => array('name'=>'name',      'type'=>'xsd:string'),
        'filename'    => array('name'=>'filename',  'type'=>'xsd:string'), 
        'date'        => array('name'=>'date',      'type'=>'xsd:string') 
    )
);

// ---- AudioFile[] ----------------------------------------------------------

$server->wsdl->addComplexType(
    'AudioFileArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:AudioFile[]')
    ),
    'tns:AudioFile'
);

// ---- VoiceMailStructure -----------------------------------------------------------------

$server->wsdl->addComplexType(
    'VoiceMailStructure',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'callerid'          => array('name'=>'callerid','type'=>'xsd:string'),
        'origdate'          => array('name'=>'origdate','type'=>'xsd:string'),
        'duration'          => array('name'=>'duration','type'=>'xsd:string'),
        'filename'          => array('name'=>'filename','type'=>'xsd:string')
    )
);

// ---- VoiceMailStructure[] ---------------------------------------------------------------

$server->wsdl->addComplexType(
    'VoiceMailStructureArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:VoiceMailStructure[]')),
    'tns:VoiceMailStructure'
);

// ---- AnswerMessageStructure -------------------------------------------------

$server->wsdl->addComplexType(
    'AnswerMessageStructure',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'filename'    => array('name'=>'filename',    'type'=>'xsd:string'),
        'md5'         => array('name'=>'md5',         'type'=>'xsd:string')
    )
);

// ---- AnswerMessageStructure[] -----------------------------------------------

$server->wsdl->addComplexType(
    'AnswerMessageStructureArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:AnswerMessageStructure[]')
    ),
    'tns:AnswerMessageStructure'
);

// ---- commandReturn ----------------------------------------------------

$server->wsdl->addComplexType(
    'commandReturn',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'present'       => array('name'=>'present',        'type'=>'xsd:int'),
        'value'         => array('name'=>'value',          'type'=>'xsd:string')
    )
);

// ---- commandReturn[] --------------------------------------------------

$server->wsdl->addComplexType(
    'commandReturnArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:commandReturn[]')
    ),
    'tns:commandReturn'
);

// ---- Extension --------------------------------------------------------------

$server->wsdl->addComplexType(
    'Extension',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id',        'type'=>'xsd:int'),
        'entity_id'   => array('name'=>'entity_id', 'type'=>'xsd:int'),
        'extension'   => array('name'=>'extension', 'type'=>'xsd:string')
    )
);

// ---- Extension[] ------------------------------------------------------------

$server->wsdl->addComplexType(
    'ExtensionArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Extension[]')
    ),
    'tns:Extension'
);

// ---- provClient -------------------------------------------------------------

$server->wsdl->addComplexType(
    'provClient',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          	=> array('name'=>'id',         	'type'=>'xsd:int'),
        'client_id'   	=> array('name'=>'client_id',  	'type'=>'xsd:int'),
        'template'  		=> array('name'=>'template', 		'type'=>'xsd:int'),
        'mac'         	=> array('name'=>'mac',        	'type'=>'xsd:string'),
        'ip'          	=> array('name'=>'ip',         	'type'=>'xsd:string'),
        'external_ip' 	=> array('name'=>'external_ip', 'type'=>'xsd:string'),
        'external_port' => array('name'=>'external_port','type'=>'xsd:string'),
        'hostname' 			=> array('name'=>'hostname',		'type'=>'xsd:string')
    )
);

// ---- provClient[] -----------------------------------------------------------

$server->wsdl->addComplexType(
    'provClientArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:provClient[]')
    ),
    'tns:provClient'
);

// ---- phoneType -------------------------------------------------------------

$server->wsdl->addComplexType(
    'phoneType',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'        => array('name'=>'id',         'type'=>'xsd:int'),
        'vendor'    => array('name'=>'vendor',     'type'=>'xsd:string'),
        'model'     => array('name'=>'model',      'type'=>'xsd:string'),
        'mac'       => array('name'=>'mac',        'type'=>'xsd:string'),
        'check'     => array('name'=>'check',      'type'=>'xsd:int'),
        'firmware'  => array('name'=>'firmware',   'type'=>'xsd:string')
    )
);

// ---- phoneType[] -----------------------------------------------------------

$server->wsdl->addComplexType(
    'phoneTypeArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:phoneType[]')
    ),
    'tns:phoneType'
);

// ---- phoneMac -------------------------------------------------------------

$server->wsdl->addComplexType(
    'phoneMac',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'        => array('name'=>'id',         'type'=>'xsd:int'),
        'mac'       => array('name'=>'mac',        'type'=>'xsd:string'),
        'check'     => array('name'=>'check',      'type'=>'xsd:int')
    )
);

// ---- phoneMac[] -----------------------------------------------------------

$server->wsdl->addComplexType(
    'phoneMacArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:phoneMac[]')
    ),
    'tns:phoneMac'
);

// ---- provTemplate -----------------------------------------------------------
$server->wsdl->addComplexType(
    'provTemplate',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'           => array('name'=>'id',         'type'=>'xsd:int'),
        'id_phone'     => array('name'=>'id_phone',   'type'=>'xsd:int'),
        'name'         => array('name'=>'name',       'type'=>'xsd:string'),
        'description'  => array('name'=>'description','type'=>'xsd:string'),
        'dhcp'        	=> array('name'=>'dhcp',       	'type'=>'xsd:int'),
        'local'      		=> array('name'=>'local',    	 	'type'=>'xsd:int'),
        'netmask' 			=> array('name'=>'netmask', 		'type'=>'xsd:string'),
        'gateway' 			=> array('name'=>'gateway', 		'type'=>'xsd:string'),
        'domain' 				=> array('name'=>'domain', 			'type'=>'xsd:string'),
        'dns1' 					=> array('name'=>'dns1', 				'type'=>'xsd:string'),
        'dns2' 					=> array('name'=>'dns2', 				'type'=>'xsd:string'),
        'registrar' 		=> array('name'=>'registrar', 	'type'=>'xsd:string'),
        'firmware' 		 => array('name'=>'firmware', 	'type'=>'xsd:int'),
        'options'      => array('name'=>'options',    'type'=>'tns:provTemplateOptionsArray'),
        'directory'    => array('name'=>'directory',  'type'=>'xsd:int'),
        'http_username' => array('name'=>'http_username', 	'type'=>'xsd:string'),
        'http_password' => array('name'=>'http_password', 	'type'=>'xsd:string'),
        'http_scheme'   => array('name'=>'http_scheme',  'type'=>'xsd:int'),
        'ldap'          => array('name'=>'ldap',        'type'=>'xsd:int')
    )
);
// ---- provTemplate[] ---------------------------------------------------------
$server->wsdl->addComplexType(
    'provTemplateArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:provTemplate[]')
    ),
    'tns:provTemplate'
);

// ---- provOptions ------------------------------------------------------------
$server->wsdl->addComplexType(
    'provOptions',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'           => array('name'=>'id',         'type'=>'xsd:int'),
        'name'         => array('name'=>'name',       'type'=>'xsd:string'),
        'description'  => array('name'=>'description','type'=>'xsd:string'),
        'type'         => array('name'=>'type',       'type'=>'xsd:string'),
        'value_list'   => array('name'=>'value_list', 'type'=>'xsd:string'),
        'default'      => array('name'=>'default',    'type'=>'xsd:string'),
        'visual_list'  => array('name'=>'visual_list','type'=>'xsd:string'),
        'account'      => array('name'=>'account',    'type'=>'xsd:int')
    )
);
// ---- provOptions[] ----------------------------------------------------------
$server->wsdl->addComplexType(
    'provOptionsArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:provOptions[]')
    ),
    'tns:provOptions'
);

// ---- provTemplateOptions ----------------------------------------------------
$server->wsdl->addComplexType(
    'provOptions',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'key'     => array('name'=>'key',         'type'=>'xsd:int'),
        'value'   => array('name'=>'name',        'type'=>'xsd:string'),
        'mode'    => array('name'=>'description', 'type'=>'xsd:string')
    )
);
// ---- provTemplateOptions[] --------------------------------------------------
$server->wsdl->addComplexType(
    'provTemplateOptionsArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:provTemplateOptions[]')
    ),
    'tns:provTemplateOptions'
);
// ---- provFirmware -----------------------------------------------------------
$server->wsdl->addComplexType(
    'provFirmware',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'           => array('name'=>'id',         'type'=>'xsd:int'),
        'id_phone'     => array('name'=>'id_phone',   'type'=>'xsd:int'),
        'name'         => array('name'=>'name',       'type'=>'xsd:string'),
        'description'  => array('name'=>'description','type'=>'xsd:string'),
        'tftp'         => array('name'=>'tftp',       'type'=>'xsd:int')
    )
);
// ---- provFirmware[] ---------------------------------------------------------
$server->wsdl->addComplexType(
    'provFirmwareArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:provFirmware[]')
    ),
    'tns:provFirmware'
);
// ---- provDirectory -----------------------------------------------------------
$server->wsdl->addComplexType(
    'provDirectory',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'           => array('name'=>'id',         'type'=>'xsd:int'),
        'name'         => array('name'=>'name',       'type'=>'xsd:string'),
        'description'  => array('name'=>'description','type'=>'xsd:string'),
        'phonenumber_prefix'  => array('name'=>'phonenumber_prefix','type'=>'xsd:string'),
        'mobile_prefix'  			=> array('name'=>'mobile_prefix',			'type'=>'xsd:string'),
        'contacts'     => array('name'=>'contacts',   'type'=>'tns:AssociativeArray')
    )
);
// ---- provDirectory[] ---------------------------------------------------------
$server->wsdl->addComplexType(
    'provDirectoryArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:provDirectory[]')
    ),
    'tns:provDirectory'
);




// ---- Meetme -----------------------------------------------------------------

$server->wsdl->addComplexType(
    'Meetme',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'          => array('name'=>'id',          'type'=>'xsd:int'),
        'confno'      => array('name'=>'confno',      'type'=>'xsd:string'),
        'pin'         => array('name'=>'pin',         'type'=>'xsd:string'),
        'adminpin'    => array('name'=>'adminpin',    'type'=>'xsd:string'),
        'options'     => array('name'=>'options',     'type'=>'xsd:string'),
        'app_id'      => array('name'=>'app_id',      'type'=>'xsd:int'),
        'app_name'    => array('name'=>'app_name',    'type'=>'xsd:string'),
        'application' => array('name'=>'application', 'type'=>'tns:Application')
    )
);

// ---- Meetme[] ------------------------------------------------------------

$server->wsdl->addComplexType(
    'MeetmeArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Meetme[]')
    ),
    'tns:Meetme'
);








$server->wsdl->addComplexType(
    'callStrunct',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id'            => array('name'=>'id',            'type'=>'xsd:string'),
        'name'          => array('name'=>'name',        'type'=>'xsd:string'),
        'number'        => array('name'=>'number',        'type'=>'xsd:string'),
        'description'   => array('name'=>'description',   'type'=>'xsd:string'),
        'disposition'   => array('name'=>'disposition',   'type'=>'xsd:string')
    )
);

$server->wsdl->addComplexType(
    'callStrunctArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:callStrunct[]')
    ),
    'tns:callStrunct'
);


?>
