<?xml version="1.0" encoding="UTF-8"?>
<PBXConfig version="1.0">
    <InstallationType>
        <type>new</type> <!-- Configuration Method: new -->
    </InstallationType>
    <NumberOfExtensions>10</NumberOfExtensions> <!-- The number of extensions to add in bulk -->
    <Extensions> <!-- Extension Configuration-->
        <Extension>
            <!-- User Setting -->
            <FirstName>Jonas</FirstName> <!-- The length of the value you enter should not be greater than 63. Either the first name or the last name is required. -->
            <LastName>Smedley</LastName> <!-- The length of the value you enter should not be greater than 63. Either the first name or the last name is required. -->
            <EmailAddr>jonas@pbx.com</EmailAddr> 
            <MobileNumber>17628353123213</MobileNumber> <!-- The length of the value you enter should not be greater than 31 -->
            <UserPassword>JonasPassword1</UserPassword> <!-- The password for the extension user to log in to the system. The characters you enter must be at least 10 digits in length and include both upper and lower case letters and numbers. -->
            <RoleName>Administrator</RoleName> <!--The name of the role that exists in the system. Built-in roles: Administrator,Supervisor,Operator,Employee,Human Resource,Accounting,Hotel Manager --> 
            <Title>engineer</Title> <!-- Job title --> 
            <Number>1000</Number> <!-- Extension Number -->
            <CallerId>1000</CallerId> <!-- Caller ID -->
            <Language>follow_system</Language> <!-- The language of the system prompts heard by the extension during a call. The valid value is subject the SystemPromptLanguage parameter -->
            <RegName>1000</RegName> <!-- Registration Name -->
            <RegPassword>Password123</RegPassword> <!-- Registration Password. The length of the value you enter should not be less than 8. -->
            <ConcurrentRegistrations>2</ConcurrentRegistrations> <!-- The maximum IP phones allowed to register this extension at the same time. Valid values: 1,2,3,4,5 -->
            <EmergencyCallerId>1000</EmergencyCallerId> <!-- The Outbound Caller ID for the extension when it makes emergency calls. Only numbers, letters, and characters ().-+*# are allowed -->
            <!-- Voicemail Setting -->
            <EnbVm>1</EnbVm> <!-- Whether to enable voicemail for the extension. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbVmPin>1</EnbVmPin> <!-- Whether to enable PIN authentication for the extension's voicemail. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <VmPin>2211122</VmPin> <!-- Voicemail access PIN. Only numbers are allowed, and the length of the value you enter should be between 3 and 15 digits. -->
            <VmLang>sound-en</VmLang> <!-- The language of the system prompts used by the extension's voicemail. Valid values: follow_system,sound-en-->
            <NewVmNotify>with_attach</NewVmNotify> <!-- Whether to send an email notification to the extension when a new voicemail message is received. Valid values: no,with_attach,without_attach (no:Do not send email notification; with_attach: Send email notifications with attachment; without_attach:Send email notifications without attachment)-->
            <AfterVmNotify>mark_read</AfterVmNotify> <!-- How to handle the voicemail message after an email notification has been sent to the extension. Valid values:no, mark_read, delete (no:Do nothing; mark_read: Mark the voicemail message as read; delete: Delete the voicemail message) -->
            <VmSendTo>custom_email</VmSendTo> <!-- The email address to receive notification when a new voicemail message is received. Valid values: user_email,custom_email (user_email: Send to the extension's email address; custom_email: Send to a custom email address) -->
            <VoiceEmailAddr>jonas1@pbx.com</VoiceEmailAddr> <!-- The custom email address to receive notification when a new voicemail message is received. This is required if VmSendTo=custom_email -->
            <EnbDenyLeavingMessage>0</EnbDenyLeavingMessage> <!-- Whether to prevent callers from leaving a voicemail message. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbVmPlayCallerId>0</EnbVmPlayCallerId> <!-- Whether to announce the Caller ID of the caller who left the message before playing the voicemail message. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbVmPlayDatetime>1</EnbVmPlayDatetime> <!-- Whether to announce the arrival time of the message before playing the voicemail message. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <VmPlayTimeFormat>follow_system</VmPlayTimeFormat> <!-- The time format for announcing the message arrival time. Valid values:24-hour,12-hour,follow_system -->
            <EnbVmPlayDuration>1</EnbVmPlayDuration> <!-- Whether to announce the duration of the message before playing the voicemail message. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <!-- Linkus Setting -->
            <EnbMobileClient>1</EnbMobileClient> <!-- Whether to enable Linkus Mobile Client for the extension. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <LinkusMobileCodec>g722</LinkusMobileCodec> <!-- The codec used by Linkus Mobile Client. Valid values: ulaw,alaw,ilbc,g722,g729,opus --> 
            <EnbIce>yes</EnbIce> <!-- Whether to enable Interactive Connectivity Establishment (ICE) for Linkus Mobile Client. Valid values: yes,no -->
        </Extension>
        <Extension>
            <!-- User Setting -->
            <FirstName>Tammy</FirstName> <!-- The length of the value you enter should not be greater than 63. Either the first name or the last name is required. -->
            <LastName>Ricardo</LastName> <!-- The length of the value you enter should not be greater than 63. Either the first name or the last name is required. -->
            <EmailAddr>tammy@pbx.com</EmailAddr>
            <MobileNumber>853123233</MobileNumber> <!-- The length of the value you enter should not be greater than 31 -->
            <UserPassword>TammyPassword1</UserPassword> <!-- The password for the extension user to log in to the system. The characters you enter must be at least 10 digits in length and include both upper and lower case letters and numbers. -->
            <RoleName>Administrator</RoleName> <!-- The name of the role that exists in the system. Built-in roles: Administrator,Supervisor,Operator,Employee,Human Resource,Accounting,Hotel Manager -->
            <Title>engineer</Title> <!-- Job title -->
            <Number>1001</Number> <!-- Extension Number -->
            <CallerId>1001</CallerId> <!-- Caller ID -->
            <Language>follow_system</Language> <!-- The language of the system prompts heard by the extension during a call. The valid value is subject the SystemPromptLanguage parameter -->
            <RegName>1001</RegName> <!-- Registration Name -->
            <RegPassword>Password123</RegPassword> <!-- Registration Password. The length of the value you enter should not be less than 8. -->
            <ConcurrentRegistrations>2</ConcurrentRegistrations> <!-- The maximum IP phones allowed to register this extension at the same time. Valid values: 1,2,3,4,5 -->
            <EmergencyCallerId>1001</EmergencyCallerId> <!-- The Outbound Caller ID for the extension when it makes emergency calls. Only numbers, letters, and characters ().-+*# are allowed -->
            <!-- Voicemail Setting -->
            <EnbVm>1</EnbVm> <!-- Whether to enable voicemail for the extension. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbVmPin>1</EnbVmPin> <!-- Whether to enable PIN authentication for the extension's voicemail. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <VmPin>2211122</VmPin> <!-- Voicemail access PIN. Only numbers are allowed, and the length of the value you enter should be between 3 and 15 digits. -->
            <VmLang>sound-en</VmLang> <!-- The language of the system prompts used by the extension's voicemail. Valid values: follow_system,sound-en-->
            <NewVmNotify>with_attach</NewVmNotify> <!-- Whether to send an email notification to the extension when a new voicemail message is received. Valid values: no,with_attach,without_attach (no:Do not send email notification; with_attach: Send email notifications with attachment; without_attach:Send email notifications without attachment) -->
            <AfterVmNotify>mark_read</AfterVmNotify> <!-- How to handle the voicemail message after an email notification has been sent to the extension. Valid values:no, mark_read, delete (no:Do nothing; mark_read: Mark the voicemail message as read; delete: Delete the voicemail message)-->
            <VmSendTo>custom_email</VmSendTo> <!-- The email address to receive notification when a new voicemail message is received. Valid values: user_email,custom_email (user_email: Send to the extension's email address; custom_email: Send to a custom email address) -->
            <VoiceEmailAddr>tammy2@pbx.com</VoiceEmailAddr> <!-- The custom email address to receive notification when a new voicemail message is received. This is required if VmSendTo=custom_email -->
            <EnbDenyLeavingMessage>0</EnbDenyLeavingMessage> <!-- Whether to prevent callers from leaving a voicemail message. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbVmPlayCallerId>0</EnbVmPlayCallerId> <!-- Whether to announce the Caller ID of the caller who left the message before playing the voicemail message. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbVmPlayDatetime>1</EnbVmPlayDatetime> <!-- Whether to announce the arrival time of the message before playing the voicemail message. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <VmPlayTimeFormat>follow_system</VmPlayTimeFormat> <!-- The time format for announcing the message arrival time. Valid values:24-hour,12-hour,follow_system-->
            <EnbVmPlayDuration>1</EnbVmPlayDuration> <!-- Whether to announce the duration of the message before playing the voicemail message. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <!-- Linkus Setting -->
            <EnbMobileClient>1</EnbMobileClient> <!-- Whether to enable Linkus Mobile Client for the extension. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <LinkusMobileCodec>g722</LinkusMobileCodec> <!-- The codec used by Linkus Mobile Client. Valid values: ulaw,alaw,ilbc,g722,g729,opus --> 
            <EnbIce>yes</EnbIce> <!-- Whether to enable Interactive Connectivity Establishment (ICE) for Linkus Mobile Client. Valid values: yes,no-->
        </Extension>
    </Extensions>
    <Trunks> <!-- Trunk Configuration -->
        <SipTrunk>
            <Name>trunk-0</Name> <!-- Trunk name. Space and !:@#$%^&(){}[];'/,\"` are not allowed -->
            <Enable>1</Enable>  <!-- Whether to enable the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <Type>register</Type>  <!-- Trunk type. Valid values:register,peer,account -->
            <Transport>udp</Transport> <!-- Transport protocol. Valid values: udp,tcp,tls,dnsnaptr-->
            <!-- Basic Setting -->
            <Hostname>192.168.25.112</Hostname> <!-- For Peer Trunk or Register Trunk, enter the service provider's hostname or IP address -->
            <Port>5060</Port> <!-- For Peer Trunk or Register Trunk, enter the service provider's port. The value you enter should be between 1 and 65535 -->
            <Domain>192.168.25.112</Domain> <!-- For Peer Trunk or Register Trunk, enter the service provider's domain name -->
            <Username>10086</Username> <!-- For Register Trunk, enter the username to register the trunk from service provider -->
            <Password>cGFzc3dvcmQ</Password> <!-- For Register Trunk or Account Trunk, enter the password to register the trunk from service provider -->
            <AuthName>10086</AuthName> <!-- For Register Trunk or Account Trunk, enter the authentication name to register the trunk from service provider -->
            <EnbOutboundProxy>1</EnbOutboundProxy> <!-- For Register Trunk,whether to enable outbound proxy. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <OutboundProxyServer>aaa.sip.com</OutboundProxyServer> <!-- The address of the outbound proxy server -->
            <OutboundProxyPort>5060</OutboundProxyPort> <!-- The port of the outbound proxy server. The value you enter should be between 1 and 65535 -->
            <!-- Advanced Setting -->
            <CodecSel>ulaw,alaw,g729</CodecSel> <!-- Codec. Valid values:ulaw,alaw,g729,gsm,g722,g726,ilbc,h264,h263,h263p,speex,adpcm,mpeg4,vp8,opus. For multiple codecs, separate them with commas -->
            <EnbQualify>1</EnbQualify> <!-- Whether to enable Qualify for the trunk. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbSrtp>0</EnbSrtp> <!-- Whether to enable SRTP for the trunk. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbT38Support>0</EnbT38Support> <!-- Whether to enable T.38 fax for the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbInbandProgress>0</EnbInbandProgress> <!-- Whether to enable Inband Progress for the trunk. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <Ignore183WithoutSdp>0</Ignore183WithoutSdp> <!-- Whether to forward the 180(SDP) message following the peer's format. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <TransparentTrans_180Msg>0</TransparentTrans_180Msg> <!-- Whether to forward the 180(SDP) message following the peer's format. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbRtpKeepalive>0</EnbRtpKeepalive> <!-- Whether to enable RTP Keep-alive.Valid values: 0,1 (0: disabled; 1:enabled)-->
            <DtmfMode>rfc4733</DtmfMode> <!-- The mode for sending DTMF tones. Valid values:rfc4733,info,inband,auto -->
            <DtmfFmtp>0-16</DtmfFmtp> <!-- The value of the DTMF fmtp attribute. Valid values: 0-15,0-16 -->
            <!--Call Restriction Setting-->
            <CallRestrictionType>outbound</CallRestrictionType> <!-- Specify the type of calls for which you want to limit the maximum number of concurrent calls on the trunk. Valid values: all,outbound -->
            <MaxCallChans>0</MaxCallChans> <!-- The maximum number of concurrent calls allowed for the trunk. The value you enter should be between 0 and 99999 (0 means unlimited) -->
            <!--DIDs/DDIs Setting-->
            <DidList> <!-- DIDs/DDIs -->
                <TrunkDid>
                    <Did>7820100</Did> <!-- Only alphanumeric and -+*#()[].! are allowed-->
                    <DidName>TESTab</DidName>
                </TrunkDid>
                 <TrunkDid>
                    <Did>7820101</Did>
                    <DidName>AAA</DidName>
                </TrunkDid>
            </DidList>
            <!--Inbound Caller ID Reformatting-->
            <InboundCidList>
                <TrunkInboundCid>
                    <InboundCid>8X.</InboundCid> <!-- The incoming Caller ID that matches the adaptation pattern will be adapted. Only alphanumeric and -+*#()[].! are allowed-->
                    <Strip>1</Strip> <!-- The number of digits that will be stripped from the front of the Caller ID. The value you enter should be between 0 and 99-->
                    <Prepend>22</Prepend> <!-- The digit that will be prepended to the Caller ID. Only numbers,letters,and characters ().-+*# are allowed -->
                </TrunkInboundCid>
            </InboundCidList>
            <!--Outbound Caller ID Setting-->
            <DefOutboundCid>111000</DefOutboundCid> <!-- Default outbound caller ID of the trunk. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed. -->
            <DefOutboundCidName>G-DODname0</DefOutboundCidName> <!-- Default outbound caller ID name of the trunk -->
            <OutboundCampaignCidList> <!-- Outbound Caller ID Setting for Campaign Calls -->
                <TrunkOutboundCid>
                    <OutboundCid>111006</OutboundCid> <!-- Outbound caller ID of the trunk for campaign calls. Only allow numbers,X,Z,N,and characters []-+*#-->
                    <OutboundCidName>Cam-DODname0</OutboundCidName> <!-- Outbound caller ID name of the trunk for campaign calls -->
                </TrunkOutboundCid>
            </OutboundCampaignCidList>
            <OutboundCidList>        <!-- Outbound Caller ID List Setting -->
                <TrunkOutboundCid>
                    <OutboundCid>111001</OutboundCid> <!-- Outbound Caller ID. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed -->
                    <OutboundCidType>single</OutboundCidType> <!-- The creation method of outbound caller ID. Valid values: single,range (single: Associate one fixed outbound caller ID with one or multiple extensions; range: Bind consecutive outbound caller IDs to consecutive extensions with one-to-one correspondence)-->
                    <OutboundCidName>Ext-DODname0</OutboundCidName> <!-- Outbound Caller ID Name -->
                    <OutboundCidLabel>label</OutboundCidLabel> <!-- The default label for the outbound caller ID that is displayed when extension users select a DOD to dial out -->
                    <AssocExtList>  <!-- The extensions that share the same outbound caller ID if OutboundCidType=single -->
                        <OptionParam Type="Extension" Name="1000" />
                        <OptionParam Type="Extension" Name="1001" />
                    </AssocExtList>
                </TrunkOutboundCid>
                <TrunkOutboundCid>
                    <OutboundCid>123333</OutboundCid> <!-- Outbound Caller ID -->
                    <OutboundCidType>range</OutboundCidType> <!-- The creation method of outbound caller ID. Valid values: single,range (single: Associate one fixed outbound caller ID with one or multiple extensions; range: Bind consecutive outbound caller IDs to consecutive extensions with one-to-one correspondence) -->
                    <OutboundCidName>Ext-DODname1</OutboundCidName> <!-- Outbound Caller ID Name -->
                    <OutboundCidLabel>label</OutboundCidLabel> <!-- The default label for the outbound caller ID that is displayed when extension users select a DOD to dial out -->
                    <OutboundCidStart>111002</OutboundCidStart> <!-- The starting outbound caller ID number if OutboundCidType=range -->
                    <OutboundCidEnd>111005</OutboundCidEnd> <!-- The end outbound caller ID number if OutboundCidType=range -->
                    <AssocExts>1002-1005</AssocExts> <!-- The extensions that will bind to the consecutive outbound caller IDs with one-to-one correspondence -->
                </TrunkOutboundCid>
            </OutboundCidList>

            <!-- SIP Headers Setting -->
            <CallerIdFrom>follow_system</CallerIdFrom> <!-- Specify from which header field will the trunk retrieve Caller ID header. Valid values:follow_system, from, contact, rpid, pai, ppi (follow_system:Follow System; from:From; contact:Contact; rpid:Remote-Party-ID; pai:P-Asserted Identity; ppi:P-Preferred-Identity)-->
            <DidFrom>follow_system</DidFrom> <!-- Specify from which header field will the trunk retrieve DID header. Valid values: follow_system, to, invite, diversion, rpid, pai, ppi, pcpid (follow_system: Follow System; to:To; invite:Invite; diversion:Diversion; rpid:Remote-Party-ID; pai:P-Asserted Identity; ppi:P-Preferred-Identity; pcpid:P-Called-Party-ID)-->
            <FromUserPart>default</FromUserPart> <!--Define the value in the From header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values:default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <FromUser></FromUser> <!-- required if FromUserPart=custom -->
            <FromDispNamePart>default</FromDispNamePart> <!-- Define the caller ID name that will be used of a SIP From header. Valid values: default, ext_cid_name, ext_outbcid_name, trunk_def_outbcid_name, originator_cid_name, custom (default:Default; ext_cid_name:Extension Caller ID Name; ext_outbcid_name:Extension's Outbound Caller ID Name in Trunk;trunk_def_outbcid_name:Trunk Outbound Caller ID Name; originator_cid_name: Originator Caller ID Name; custom:Custom)-->
            <FromDispName></FromDispName> <!-- required if FromDispNamePart=custom -->
            <DiversionUserPart></DiversionUserPart> <!-- Define the value to be carried in the Diversion header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <DiversionUser></DiversionUser> <!-- required if DiversionUserPart=custom -->
            <RpidUserPart></RpidUserPart> <!-- Define the value in the Remote-Party-ID header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <RpidUser></RpidUser> <!-- required if RpidUserPart=custom -->
            <PaiUserPart></PaiUserPart> <!--Define the value in the P-Asserted-Identity header field of teh SIP INVITE packet for outgoing calls from this trunk. Valid values: default ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <PaiUser></PaiUser> <!-- required if PaiUserPart=custom -->
            <PpiUserPart></PpiUserPart> <!-- Define the value in the P-Preferred-Identity header field of the SIP INVITE package for outgoing calls from this trunk. Valid values:default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom) -->
            <PpiUser></PpiUser> <!-- required if PpiUserPart=custom -->
            <PaiUserPartUriFormat>sip</PaiUserPartUriFormat> <!-- Specify the format of the P-Asserted-Identity header field. Valid values: sip,tel-->
            <!--Other Settings-->
            <UserAgent></UserAgent> <!-- User Agent -->
            <Realm></Realm> <!-- Realm -->
            <Enb_100Rel>0</Enb_100Rel> <!-- Whether to enable 100rel. Valid values:0,1,2 (0:Disabled; 1:supported; 2:required) --> 
            <MaxPtime>default</MaxPtime> <!--Maxptime-->
            <SettingOfSipAndSdpIp>default</SettingOfSipAndSdpIp> <!-- The IP address to use in 'Contact'(SIP) and 'Connection'(SDP) fields. Valid values: custom,default -->
            <SipAndSdpIpAddr></SipAndSdpIpAddr> <!-- Custom IP address to use in 'Contact'(SIP) and 'Connection'(SDP) fields. Required if SettingOfSipAndSdpIp=custom -->
            <EnbPrivacyId>0</EnbPrivacyId> <!--Whether to send the Privacy ID in SIP header or not. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbUserPhone>0</EnbUserPhone> <!--Whether to add the parameter user=phone as a request line in the header field of the SIP INVITE packet. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbApiCallId>0</EnbApiCallId> <!-- Whether to send the X-OpenAPI-Call-ID in the SIP header. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbEarlyMedia>0</EnbEarlyMedia> <!-- Whether to include the P-Early-Media field in the INVITE package. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbEarlyMediaFor_183>0</EnbEarlyMediaFor_183> <!-- Whether to include P-Early-Media header with the value of sendrecv in the 183 message for incoming calls.Valid values: 0,1 (0: disabled; 1:enabled)-->
        </SipTrunk>
        <SipTrunk>
            <Name>trunk-1</Name> <!-- Trunk name. Space and !:@#$%^&(){}[];'/,\"` are not allowed -->
            <Enable>1</Enable>  <!-- Whether to enable the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <Type>peer</Type>  <!-- Trunk type. Valid values:register,peer,account -->
            <Transport>udp</Transport> <!-- Transport protocol. Valid values: udp,tcp,tls,dnsnaptr-->
            <!-- Trunk Setting -->
            <Hostname>192.168.25.112</Hostname> <!-- For Peer Trunk or Register Trunk, enter the service provider's hostname or IP address -->
            <Port>5060</Port> <!-- For Peer Trunk or Register Trunk, enter the service provider's port. The value you enter should be between 1 and 65535 -->
            <Domain>192.168.25.112</Domain> <!-- For Peer Trunk or Register Trunk, enter the service provider's domain name -->
            <!-- Advanced Setting -->
            <CodecSel>ulaw,alaw,g729</CodecSel> <!-- Codec. Valid values:ulaw,alaw,g729,gsm,g722,g726,ilbc,h264,h263,h263p,speex,adpcm,mpeg4,vp8,opus. For multiple codecs, separate them with commas -->
            <EnbQualify>1</EnbQualify> <!-- Whether to enable Qualify for the trunk. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbSrtp>0</EnbSrtp> <!-- Whether to enable SRTP for the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbT38Support>0</EnbT38Support> <!-- Whether to enable T.38 fax for the trunk. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbInbandProgress>0</EnbInbandProgress> <!-- Whether to enable Inband Progress for the trunk. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <Ignore183WithoutSdp>0</Ignore183WithoutSdp> <!-- Whether to ignore 183 message without SDP. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <TransparentTrans_180Msg>0</TransparentTrans_180Msg> <!-- Whether to forward the 180(SDP) message following the peer's format. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbRtpKeepalive>0</EnbRtpKeepalive> <!-- Whether to enable RTP Keep-alive.Valid values: 0,1 (0: disabled; 1:enabled)-->
            <DtmfMode>rfc4733</DtmfMode> <!-- The mode for sending DTMF tones. Valid values:rfc4733,info,inband,auto -->
            <DtmfFmtp>0-16</DtmfFmtp> <!-- The value of the DTMF fmtp attribute. Valid values: 0-15,0-16 -->
            <!--Call Restriction Setting-->
            <CallRestrictionType>outbound</CallRestrictionType> <!-- Specify the type of calls for which you want to limit the maximum number of concurrent calls on the trunk. Valid values: all,outbound -->
            <MaxCallChans>0</MaxCallChans> <!-- The maximum number of concurrent calls allowed for the trunk. The value you enter should be between 0 and 99999 (0 means unlimited) -->
            <!--DIDs/DDIs Setting-->
            <DidList> <!-- DIDs/DDIs -->
                <TrunkDid>
                    <Did>7820100</Did> <!-- Only alphanumeric and -+*#()[].! are allowed-->
                    <DidName>TESTab</DidName>
                </TrunkDid>
                 <TrunkDid>
                    <Did>7820101</Did>
                    <DidName>AAA</DidName>
                </TrunkDid>
            </DidList>
            <!--Inbound Caller ID Reformatting-->
            <InboundCidList>
                <TrunkInboundCid>
                    <InboundCid>8X.</InboundCid> <!-- The incoming Caller ID that matches the adaptation pattern will be adapted. Only alphanumeric and -+*#()[].! are allowed-->
                    <Strip>1</Strip> <!-- The number of digits that will be stripped from the front of the Caller ID. The value you enter should be between 0 and 99-->
                    <Prepend>22</Prepend> <!-- The digit that will be prepended to the Caller ID. Only numbers,letters,and characters ().-+*# are allowed -->
                </TrunkInboundCid>
            </InboundCidList>
            <!--Outbound Caller ID Setting-->
            <DefOutboundCid>111000</DefOutboundCid> <!-- Default outbound caller ID of the trunk. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed -->
            <DefOutboundCidName>G-DODname0</DefOutboundCidName> <!-- Default outbound caller ID name of the trunk -->
            <OutboundCampaignCidList> <!-- Outbound Caller ID Setting for Campaign Calls -->
                <TrunkOutboundCid>
                    <OutboundCid>111006</OutboundCid> <!-- Outbound Caller ID. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed-->
                    <OutboundCidName>Cam-DODname0</OutboundCidName> <!-- Outbound Caller ID Name -->
                </TrunkOutboundCid>
            </OutboundCampaignCidList>
            <OutboundCidList>        <!-- Outbound Caller ID List Setting -->
                <TrunkOutboundCid>
                    <OutboundCid>111001</OutboundCid> <!-- Outbound Caller ID. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed -->
                    <OutboundCidType>single</OutboundCidType> <!-- The creation method of outbound caller ID. Valid values: single,range (single:Associate one fixed outbound caller ID with one or multiple extensions; range: Bind consecutive outbound caller IDs to consecutive extensions with one-to-one correspondence) -->
                    <OutboundCidName>Ext-DODname0</OutboundCidName> <!-- Outbound Caller ID Name -->
                    <OutboundCidLabel>label</OutboundCidLabel> <!-- The default label for the outbound caller ID that is displayed when extension users select a DOD to dial out -->
                    <AssocExtList>  <!-- The extensions that share the same outbound caller ID if OutboundCidType=single -->
                        <OptionParam Type="Extension" Name="1000" />
                        <OptionParam Type="Extension" Name="1001" />
                    </AssocExtList>
                </TrunkOutboundCid>
                <TrunkOutboundCid>
                    <OutboundCid>123333</OutboundCid> <!-- Outbound Caller ID -->
                    <OutboundCidType>range</OutboundCidType> <!-- The creation method of outbound caller ID. Valid values: single,range (single:Associate one fixed outbound caller ID with one or multiple extensions; range: Bind consecutive outbound caller IDs to consecutive extensions with one-to-one correspondence) -->
                    <OutboundCidName>Ext-DODname1</OutboundCidName> <!-- Outbound Caller ID Name -->
                    <OutboundCidLabel>label</OutboundCidLabel> <!-- The default label for the outbound caller ID that is displayed when extension users select a DOD to dial out -->
                    <OutboundCidStart>111002</OutboundCidStart> <!-- The starting outbound caller ID number if OutboundCidType=range -->
                    <OutboundCidEnd>111005</OutboundCidEnd> <!-- The end outbound caller ID number if OutboundCidType=range -->
                    <AssocExts>1002-1005</AssocExts> <!-- The extensions that will bind to the consecutive outbound caller IDs with one-to-one correspondence -->
                </TrunkOutboundCid>
            </OutboundCidList>

            <!-- SIP Headers Setting -->
            <CallerIdFrom>follow_system</CallerIdFrom> <!-- Specify from which header field will the trunk retrieve Caller ID header. Valid values:follow_system, from, contact, rpid, pai, ppi(follow_system:Follow System; from:From; contact:Contact; rpid:Remote-Party-ID; pai:P-Asserted Identity; ppi:P-Preferred-Identity) -->
            <DidFrom>follow_system</DidFrom> <!-- Specify from which header field will the trunk retrieve DID header. Valid values: follow_system, to, invite, diversion, rpid, pai, ppi, pcpid (follow_system: Follow System; to:To; invite:Invite; diversion:Diversion; rpid:Remote-Party-ID; pai:P-Asserted Identity; ppi:P-Preferred-Identity; pcpid:P-Called-Party-ID)-->
            <FromUserPart>default</FromUserPart> <!--Define the value in the From header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values:default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <FromUser></FromUser> <!-- required if FromUserPart=custom -->
            <FromDispNamePart>default</FromDispNamePart> <!-- Define the caller ID name that will be used of a SIP From header. Valid values: default, ext_cid_name, ext_outbcid_name, trunk_def_outbcid_name, originator_cid_name, custom(default:Default; ext_cid_name:Extension Caller ID Name; ext_outbcid_name:Extension's Outbound Caller ID Name in Trunk;trunk_def_outbcid_name:Trunk Outbound Caller ID Name; originator_cid_name: Originator Caller ID Name; custom:Custom)-->
            <FromDispName></FromDispName> <!-- required if FromDispNamePart=custom -->
            <FromDomainPart>default</FromDomainPart> <!--All outbound calls from this SIP Trunk will carry this value in the SIP INVITE header field: "From" > "Host".Valid values:default,custom-->
            <FromDomainValue></FromDomainValue> <!-- required if FromDomainPart=custom -->
            <ToDomainPart>default</ToDomainPart> <!-- All outbound calls from this SIP Trunk will carry this value in the SIP INVITE header field: "To" > "Host".Valid values:default, custom-->
            <ToDomainValue></ToDomainValue> <!-- required if ToDomainPart=custom -->
            <DiversionUserPart></DiversionUserPart> <!-- Diversion. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <DiversionUser></DiversionUser> <!-- required if DiversionUserPart=custom -->
            <RpidUserPart></RpidUserPart> <!-- Remote-Party-ID. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <RpidUser></RpidUser> <!-- required if RpidUserPart=custom -->
            <PaiUserPart></PaiUserPart> <!--P-Asserted-Identity.Valid values:default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <PaiUser></PaiUser> <!-- required if PaiUserPart=custom -->
            <PpiUserPart></PpiUserPart> <!-- P-Preferred-Identity. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom (default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <PpiUser></PpiUser> <!-- required if PpiUserPart=custom -->
            <!--Other Settings-->
            <UserAgent></UserAgent> <!-- User Agent -->
            <Enb_100Rel>0</Enb_100Rel> <!-- Whether to enable 100rel. Valid values:0,1,2 (0:Disabled; 1:supported; 2:required) -->
            <MaxPtime>default</MaxPtime> <!--Maxptime-->
            <SettingOfSipAndSdpIp>default</SettingOfSipAndSdpIp> <!-- The IP address to use in 'Contact'(SIP) and 'Connection'(SDP) fields. Valid values: custom,default -->
            <SipAndSdpIpAddr></SipAndSdpIpAddr> <!-- Custom IP address to use in 'Contact'(SIP) and 'Connection'(SDP) fields. Required if SettingOfSipAndSdpIp=custom -->
            <EnbPrivacyId>0</EnbPrivacyId> <!--Whether to send the Privacy ID in SIP header or not. values: 0,1 (0: disabled; 1:enabled)-->
            <EnbUserPhone>0</EnbUserPhone> <!--Whether to add the parameter user=phone as a request line in the header field of the SIP INVITE packet. values: 0,1 (0: disabled; 1:enabled)-->
            <EnbApiCallId>0</EnbApiCallId> <!-- Whether to send the X-OpenAPI-Call-ID in the SIP header. values: 0,1 (0: disabled; 1:enabled) -->
            <EnbEarlyMedia>0</EnbEarlyMedia> <!-- Whether to include the P-Early-Media field in the INVITE package. values: 0,1 (0: disabled; 1:enabled) -->
            <EnbEarlyMediaFor_183>0</EnbEarlyMediaFor_183> <!-- Whether to include P-Early-Media header with the value of sendrecv in the 183 message for incoming calls.values: 0,1 (0: disabled; 1:enabled)-->
        </SipTrunk>
        <SipTrunk>
            <Name>6700</Name> <!-- Trunk name. Space and !:@#$%^&(){}[];'/,\"` are not allowed -->
            <Enable>1</Enable>  <!-- Whether to enable the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <Type>account</Type>  <!-- Trunk type. Valid values: register, peer, account -->
            <Transport>udp</Transport> <!-- Transport protocol. Valid values: udp,tcp,tls,dnsnaptr-->
            <!-- Basic Setting -->
            <Number>6700</Number> <!-- Account trunk number -->
            <Password>cGFzc3dvcmQ</Password> <!-- The password to register the trunk from the service provider -->
            <UsernameAsAuthName>0</UsernameAsAuthName> <!-- Whether to use user name as authentication name.Valid values: 0,1 (0: disabled; 1:enabled) -->
            <AuthName>6700</AuthName> <!-- Authentication name -->
            <!-- Advanced Setting -->
            <CodecSel>ulaw,alaw,g729</CodecSel> <!-- Codec.Valid values:ulaw,alaw,g729,gsm,g722,g726,ilbc,h264,h263,h263p,speex,adpcm,mpeg4,vp8,opus. For multiple codecs, separate them with commas -->
            <EnbQualify>1</EnbQualify> <!-- Whether to enable Qualify for the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbSrtp>0</EnbSrtp> <!-- Whether to enable SRTP for the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbT38Support>0</EnbT38Support> <!-- Whether to enable T.38 fax for the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbInbandProgress>0</EnbInbandProgress> <!-- Whether to enable Inband Progress for the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <Ignore183WithoutSdp>0</Ignore183WithoutSdp> <!-- Whether to ignore 183 message without SDP. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <TransparentTrans_180Msg>0</TransparentTrans_180Msg> <!-- Whether to forward the 180(SDP) message following the peer's format. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <DtmfMode>rfc4733</DtmfMode> <!-- The mode for sending DTMF tones. Valid values:rfc4733,info,inband,auto -->
            <DtmfFmtp>0-16</DtmfFmtp> <!-- The value of the DTMF fmtp attribute. Valid values: 0-15,0-16 -->
            <!--Call Restriction Setting-->
            <CallRestrictionType>outbound</CallRestrictionType> <!-- Specify the type of calls for which you want to limit the maximum number of concurrent calls on the trunk. Valid values: all,outbound -->
            <MaxCallChans>0</MaxCallChans> <!-- The maximum number of concurrent calls allowed for the trunk. The value you enter should be between 0 and 99999 (0 means unlimited) -->
            <!--SIP Registration Setting-->
            <EnbUserAgentIdent>0</EnbUserAgentIdent> <!--Whether to enable SIP User Agent Registration Authorization-->
            <UserAgentIdentList> <!-- User agent list -->
                <UserAgent>AAAAA</UserAgent>
                <UserAgent>BBBBB</UserAgent>
            </UserAgentIdentList>
            <EnbIpRstr>0</EnbIpRstr> <!--Whether to enable IP restriction-->
            <IpRstrList> <!-- Permitted IP list -->
                <IpRstr>
                    <Ip>192.168.12.1</Ip> <!-- IP address -->
                    <Mask>255.255.255.0</Mask> <!-- Subnet mask -->
                </IpRstr>
                <IpRstr>
                    <Ip>192.168.13.1</Ip>
                    <Mask>255.255.255.0</Mask>
                </IpRstr>
            </IpRstrList>
            <!--DIDs/DDIs Setting-->
            <DidList> 
                <TrunkDid>
                    <Did>7820100</Did>
                    <DidName>TESTab</DidName>
                </TrunkDid>
                 <TrunkDid>
                    <Did>7820101</Did>
                    <DidName></DidName>
                </TrunkDid>
            </DidList>
            <!--Inbound Caller ID Reformatting-->
            <InboundCidList>
                <TrunkInboundCid>
                    <InboundCid>8X.</InboundCid> <!-- The incoming Caller ID that matches the adaptation pattern will be adapted. Only alphanumeric and -+*#()[].! are allowed-->
                    <Strip>1</Strip> <!-- The number of digits that will be stripped from the front of the Caller ID. The value you enter should be between 0 and 99-->
                    <Prepend>22</Prepend> <!-- The digit that will be prepended to the Caller ID. Only numbers,letters,and characters ().-+*# are allowed -->
                </TrunkInboundCid>
            </InboundCidList>
            <!--Outbound Caller ID Setting-->
            <DefOutboundCid></DefOutboundCid> <!-- Default outbound caller ID of the trunk. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed. -->
            <DefOutboundCidName></DefOutboundCidName> <!-- Default outbound caller ID name of the trunk -->
            <OutboundCampaignCidList> <!-- Outbound Caller ID Setting for Campaign Calls -->
                <TrunkOutboundCid>
                    <OutboundCid>111006</OutboundCid> <!-- Outbound caller ID of the trunk for campaign calls. Only allow numbers,X,Z,N,and characters []-+*#-->
                    <OutboundCidName>Cam-DODname0</OutboundCidName> <!-- Outbound caller ID name of the trunk for campaign calls -->
                </TrunkOutboundCid>
            </OutboundCampaignCidList>
            <OutboundCidList>        <!-- Outbound Caller ID List Setting -->
                <TrunkOutboundCid>
                    <OutboundCid>111001</OutboundCid> <!-- Outbound Caller ID. Only numbers,X,Z,N, and special characters []-+*# are valid, and only one placeholder is allowed -->
                    <OutboundCidType>single</OutboundCidType> <!-- The creation method of outbound caller ID. Valid values: single,range (single:Associate one fixed outbound caller ID with one or multiple extensions; range: Bind consecutive outbound caller IDs to consecutive extensions with one-to-one correspondence) -->
                    <OutboundCidName>Ext-DODname0</OutboundCidName> <!-- Outbound Caller ID Name -->
                    <OutboundCidLabel>label</OutboundCidLabel> <!-- The default label for the outbound caller ID that is displayed when extension users select a DOD to dial out -->
                    <AssocExtList>  <!-- The extensions that share the same outbound caller ID if OutboundCidType=single -->
                        <OptionParam Type="Extension" Name="1000" />
                        <OptionParam Type="Extension" Name="1001" />
                    </AssocExtList>
                </TrunkOutboundCid>
                <TrunkOutboundCid>
                    <OutboundCid>123333</OutboundCid> <!-- Outbound Caller ID -->
                    <OutboundCidType>range</OutboundCidType> <!-- The creation method of outbound caller ID. Valid values: single,range (single:Associate one fixed outbound caller ID with one or multiple extensions; range:Bind consecutive outbound caller IDs to consecutive extensions with one-to-one correspondence) -->
                    <OutboundCidName>Ext-DODname1</OutboundCidName> <!-- Outbound Caller ID Name -->
                    <OutboundCidLabel>label</OutboundCidLabel> <!-- The default label for the outbound caller ID that is displayed when extension users select a DOD to dial out -->
                    <OutboundCidStart>111002</OutboundCidStart> <!-- The starting outbound caller ID number if OutboundCidType=range -->
                    <OutboundCidEnd>111005</OutboundCidEnd> <!-- The end outbound caller ID number if OutboundCidType=range -->
                    <AssocExts>1002-1005</AssocExts> <!-- The extensions that will bind to the consecutive outbound caller IDs with one-to-one correspondence -->
                </TrunkOutboundCid>
            </OutboundCidList>

            <!-- SIP Headers Setting -->
            <CallerIdFrom>follow_system</CallerIdFrom> <!-- Specify from which header field will the trunk retrieve Caller ID header. Valid values:follow_system, from, contact, rpid, pai,ppi (follow_system:Follow System; from:From; contact:Contact; rpid:Remote-Party-ID; pai:P-Asserted Identity; ppi:P-Preferred-Identity)-->
            <DidFrom>follow_system</DidFrom> <!-- Specify from which header field will the trunk retrieve DID header. Valid values: follow_system, to, invite, diversion, rpid, pai, ppi, pcpid(follow_system: Follow System; to:To; invite:Invite; diversion:Diversion; rpid:Remote-Party-ID; pai:P-Asserted Identity; ppi:P-Preferred-Identity; pcpid:P-Called-Party-ID) -->
            <FromUserPart>default</FromUserPart> <!--Define the value in the From header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values:default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom(default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <FromUser></FromUser> <!-- required if FromUserPart=custom -->
            <FromDispNamePart>default</FromDispNamePart> <!-- Define the caller ID name that will be used of a SIP From header. Valid values: default, ext_cid_name, ext_outbcid_name, trunk_def_outbcid_name, originator_cid_name, custom (default:Default; ext_cid_name:Extension Caller ID Name; ext_outbcid_name:Extension's Outbound Caller ID Name in Trunk;trunk_def_outbcid_name:Trunk Outbound Caller ID Name; originator_cid_name: Originator Caller ID Name; custom:Custom)-->
            <FromDispName></FromDispName> <!-- required if FromDispNamePart=custom -->
            <DiversionUserPart></DiversionUserPart> <!-- Define the value to be carried in the Diversion header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom(default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <DiversionUser></DiversionUser> <!-- required if DiversionUserPart=custom -->
            <RpidUserPart></RpidUserPart> <!-- Define the value in the Remote-Party-ID header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values: default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid, custom(default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <RpidUser></RpidUser> <!-- required if RpidUserPart=custom -->
            <PaiUserPart></PaiUserPart> <!--Define the value in the P-Asserted-Identity header field of the SIP INVITE packet for outgoing calls from this trunk. Valid values: default ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid custom(default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom)-->
            <PaiUser></PaiUser> <!-- required if PaiUserPart=custom -->
            <PpiUserPart></PpiUserPart> <!-- Define the value in the P-Preferred-Identity header field of the SIP INVITE package for outgoing calls from this trunk. Valid values:default, ext_cid, ext_outbcid, trunk_user, trunk_def_outbcid, outrounter_outbcid, originator_cid custom(default: Default; ext_cid：Extension Caller ID; ext_outbcid:Extension's Outbound Caller ID in Trunk; trunk_user:Trunk username (Only for Register Trunk); trunk_def_outbcid: Trunk Outbound Caller ID; outrounter_outbcid:Outbound Route Outbound Caller ID; originator_cid: Originator Caller ID; custom:Custom) -->
            <PpiUser></PpiUser> <!-- required if PpiUserPart=custom -->
            <!--Other Settings-->
            <UserAgent></UserAgent> <!-- User Agent -->
            <Enb_100Rel>0</Enb_100Rel> <!-- Whether to enable 100rel. Valid values:0,1,2 (0:Disabled; 1:supported; 2:required) -->
            <MaxPtime>default</MaxPtime> <!--Maxptime-->
            <EnbPrivacyId>0</EnbPrivacyId> <!--Whether to send the Privacy ID in SIP header or not. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbUserPhone>0</EnbUserPhone> <!--Whether to add the parameter user=phone as a request line in the header field of the SIP INVITE packet. Valid values: 0,1 (0: disabled; 1:enabled)-->
            <EnbApiCallId>0</EnbApiCallId> <!-- Whether to send the X-OpenAPI-Call-ID in the SIP header. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbEarlyMedia>0</EnbEarlyMedia> <!-- Whether to include the P-Early-Media field in the INVITE package. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <EnbEarlyMediaFor_183>0</EnbEarlyMediaFor_183> <!-- Whether to include P-Early-Media header with the value of sendrecv in the 183 message for incoming calls.Valid values: 0,1 (0: disabled; 1:enabled) -->
        </SipTrunk>
        <WebrtcTrunk>
            <Name>web_trunk1</Name> <!-- Trunk name -->
            <Enable>1</Enable> <!-- Whether to enable the trunk. Valid values: 0,1 (0: disabled; 1:enabled) -->
            <Number>6403</Number> <!-- Trunk number -->
            <CodecSel>ulaw,alaw,h264,vp8</CodecSel> <!-- Codecs. Valid values: ulaw, alaw, h264, vp8, ilbc, gsm, h263, h263p, g722, g726, speex, adpcm, g729, mpeg4, opus -->
            <MaxCallChans>2</MaxCallChans> <!-- Maximum concurrent calls -->
        </WebrtcTrunk>
    </Trunks>


    <AutoProvisioning> <!-- Auto Provisioning -->
        <Phone> 
            <Vendor>Fanvil</Vendor>
            <Model>A10</Model> 
            <Mac>dd:ad:ad:ad:33:33</Mac> 
            <AutopMethod>pnp</AutopMethod> <!-- Provisioning method. Valid values:pnp,dhcp,rps,rps_fqdn,provision_link,provision_link_fqdn -->
            <TemplateName>YSDP_Fanvili10S</TemplateName>
            <EnbHotDesking>1</EnbHotDesking> <!-- Whether to set the phone to a hot desking phone. Valid values: 0,1 (0:disabled, 1:enabled) -->
            <Extension>HostExt0001</Extension> <!-- Extension number for hot desking phone, e.g.HostExt0001 -->
        </Phone>
        <Phone>
            <Vendor>Yealink</Vendor>
            <Model>CP925</Model>
            <Mac>dd:ad:ad:ad:33:35</Mac> 
            <AutopMethod>pnp</AutopMethod> <!-- Provisioning method. Valid values:pnp,dhcp,rps,rps_fqdn,provision_link,provision_link_fqdn -->
            <TemplateName></TemplateName>
            <EnbHotDesking>0</EnbHotDesking> <!-- Whether to set the phone to a hot desking phone. Valid values: 0,1 (0:disabled, 1:enabled) -->
            <Extension>1001</Extension> <!-- Extension number,e.g.1001-->
        </Phone>
    </AutoProvisioning>

    <CallControl> <!-- Call Control -->
        <InboundRoutes> <!-- Inbound Route -->
            <Route>
                <Name>Inbound1</Name> <!-- Inbound route name. Space and !:@#$%^&(){}[];'/,\"`are not allowed -->
                <AlertInfo></AlertInfo> <!-- Add an Alert-Info header in the INVITE request to trigger the phone to play distinctive ringtones when receiving incoming calls from this inbound route. Only alphanumeric is valid.-->
                <TrunkList> <!-- Trunks associated with the inbound route -->
                    <OptionParam Type="Trunk" Name="trunk-0" /> <!-- Trunk name -->
                </TrunkList>
                <DidOption>patterns</DidOption> <!-- DID matching mode. Valid values: patterns,pattern_to_ext,range_to_ext,pattern_to_ext_list (patterns:DID pattern; pattern_to_ext: Match DID Pattern to Extensions; range_to_ext: Match DID Range to Extension Range; pattern_to_ext_list: DID pattern to specific extension) -->
                <DidPatternList> <!-- DID pattern rule,required if DidOption=patterns -->
                    <Pattern>
                        <Value></Value> <!-- Pattern. Only alphanumeric and -+*#().![] are allowed-->
                    </Pattern>
                </DidPatternList>
                <DidPatternToExt></DidPatternToExt> <!-- DID pattern,required if DidOption=pattern_to_ext -->
                <DidToExtStart></DidToExtStart> <!-- DID pattern. Required if DidOption=range_to_ext -->
                <DidToExtEnd></DidToExtEnd>
                <DidPatternToExtList> <!-- DID pattern,required if DidOption=pattern_to_ext_list -->
                    <Pattern>
                        <Did>4412345678910</Did> <!--DID number. Only letters,numbers,and characters -+*#()[].! are allowed -->
                        <ExtNumber>1000</ExtNumber> <!--Extension number-->
                    </Pattern>
                </DidPatternToExtList> 
                <CidOption>patterns</CidOption> <!--Caller ID Pattern matching mode. Valid value:patterns-->
                <CidPatternList> <!-- Pattern rules for caller ID,required if CidOption=patterns -->
                    <Pattern>
                        <Value>12333</Value> <!-- Pattern.Only alphanumeric and -+*#().![] are allowed -->
                    </Pattern>
                    <Pattern>
                        <Value>233444</Value>
                    </Pattern>
                </CidPatternList>
                <DefDest>end_call</DefDest> <!-- Default destination. Valid values: end_call,extension,range_to_ext,pattern_to_ext_list,pattern_to_ext,ext_vm,external_num,outroute,fax_to_email -->
                <DefDestValue></DefDestValue> <!-- Name of the default destination -->
                <DefDestPrefix></DefDestPrefix> <!-- Prefix if DefDest=external_num -->
                <EnbFaxDetect>0</EnbFaxDetect> <!-- Whether to enable fax detection.Valid values: 0,1 (0:disabled, 1:enabled) -->
                <FaxDest>extension</FaxDest> <!-- Fax destination. Valid values:end_call,extension,fax_to_email -->
                <FaxDestValue></FaxDestValue> <!-- The extension or extension's email to receive the fax,required if FaxDest=extension or fax_to_email -->
            </Route>
        </InboundRoutes>
        <OutboundRoutes> <!-- Outbound Route -->
            <Route>
			    <Name>Outbound</Name> <!-- Outbound route name. Space and !:@#$%^&(){}[];'/,\"`are not alllowed -->
				<OutbCid></OutbCid> <!-- Outbound Caller ID. Only numbers,X,Z,N,and special characters []-+*# are valid,and only one placeholder is allowed. -->
                <TrunkList> <!-- Trunks associated with the outbound route -->
				    <OptionParam Type="Trunk" Name="trunk-0" /> <!-- Trunk name -->
                </TrunkList>
                <DialPatternList> <!-- Dial pattern rules -->
					<DialPattern>
					    <DialPattern>X.</DialPattern> <!-- Only alphanumeric and -+*#().![] are allowed -->
						<Strip></Strip> <!-- Only numbers are allowed. The value you enter should not be bigger than 16. The length of the value you enter should not be greater than 2. -->
                        <Prepend></Prepend> <!-- Only numbers,letters,and characters ().-+*# are allowed  -->
                    </DialPattern>
                </DialPatternList>
                <PinProtect>disable</PinProtect> <!-- Whether to enable PIN protection for the outbound route. Valid values:disable,single_pin -->
                <Pin></Pin> <!-- Outbound route password,required if PinProtect=single_pin -->
				<EnbRrmemoryHunt>0</EnbRrmemoryHunt> <!-- Whether to enable round robin with memory. Valid values: 0,1 (0:disabled, 1:enabled) -->
                <ExtList> <!-- The extensions that can use the outbound route -->
				    <OptionParam Type="Extension" Name="1000" />
                </ExtList>
            </Route>
        </OutboundRoutes>
    </CallControl>

    <CallFeature> <!-- Call Feature -->
        <Recording> <!-- Recording -->
            <EnbInternal>1</EnbInternal> <!-- Whether to enable recording of internal calls. Valid values: 0,1 (0:disabled, 1:enabled) -->
            <RecordTrunkList> <!-- The trunks to be recorded -->
                <TrunkOption Type="Trunk" Name="trunk-0">
                    <PlayBeep>1</PlayBeep> <!-- Whether to play a beep tone periodically during call recording. Valid values: 0,1 (0:disabled, 1:enabled) -->
                    <IntervalDuration>15</IntervalDuration> <!-- The time intervals in second to play a beep tone -->
                </TrunkOption>
                <TrunkOption Type="Trunk" Name="trunk-1">
                    <PlayBeep>0</PlayBeep>
                </TrunkOption>
            </RecordTrunkList>
            <RecordExtList> <!-- The extensions to be recorded -->
                <OptionParam Type="Extension" Name="1001" />
                <OptionParam Type="Extension" Name="1002" />
            </RecordExtList>
        </Recording>
    </CallFeature>

    <System> <!-- System Setting -->
        <Basicnetwork> <!-- Basic Network Setting -->
            <Mode>single</Mode> <!-- Ethernet mode. Valid values:single, dual, bridge -->
            <Gwnic>eth0</Gwnic> <!-- Default network interface card. Valid values: eth0，eth1 -->
            <NicSettingEth0> <!-- LAN Setting-->
                <Protocol>ipv4</Protocol> <!-- Transport protocol. Valid values: ipv4,ipv4+ipv6 -->
                <Type>staticip</Type> <!-- Network type for IPv4. Valid values:dhcp,staticip,pppoe -->
                <Ipaddress>192.168.22.226</Ipaddress> <!-- Static IPv4 address, required if Type=staticip -->
                <Netmask>255.255.255.0</Netmask> <!-- Subnet mask,required if Type=staticip -->
                <Gateway>192.168.22.1</Gateway> <!-- Gateway address -->
                <Dns1>114.114.114.114</Dns1> <!-- Preferred DNS server-->
                <Dns2>8.8.8.8</Dns2> <!-- Secondary DNS server -->
                <Ipaddress2></Ipaddress2> <!-- Second static IP address-->
                <Netmask2></Netmask2> <!-- Subnet mask of the second IP address -->
                <PppoeUsername></PppoeUsername> <!-- The username provided by ISP,required if Type=pppoe -->
                <PppoePassword></PppoePassword> <!-- The password provided by ISP,required if Type=pppoe -->
                <Ipv6Type></Ipv6Type> <!-- Network type for IPv6. Valid values:dhcp,staticip -->
                <Ipv6Ipaddress></Ipv6Ipaddress> <!-- Static IPv6 address,required if Type=staticip -->
                <Ipv6PrefixLength></Ipv6PrefixLength>  <!-- Prefix length,required if Type=staticip -->
                <Ipv6Gateway></Ipv6Gateway> <!-- Gateway address -->
                <Ipv6Dns1></Ipv6Dns1> <!-- Preferred DNS server -->
                <Ipv6Dns2></Ipv6Dns2> <!-- Secondary DNS server -->
                <Ipv6Ipaddress2></Ipv6Ipaddress2> <!-- Second static IPv6 address -->
                <Ipv6PrefixLength2></Ipv6PrefixLength2> <!-- Prefix length of the second IPv6 address -->
                <Priority></Priority> <!-- Priority,required if Protocol=ipv4+ipv6. Valid values: ipv4,ipv6 -->
            </NicSettingEth0>
            <NicSettingEth1> <!-- WAN Setting-->
                <Protocol>ipv4</Protocol> <!-- Transport protocol. Valid values: ipv4,ipv4+ipv6 -->
                <Type>staticip</Type> <!-- Network type for IPv4. Valid values:dhcp,staticip,pppoe -->
                <Ipaddress>192.168.21.228</Ipaddress> <!-- Static IPv4 address, required if Type=staticip -->
                <Netmask>255.255.255.0</Netmask> <!-- Subnet mask,required if Type=staticip -->
                <Gateway>192.168.21.1</Gateway> <!-- Gateway address -->
                <Dns1>114.114.114.114</Dns1> <!-- Preferred DNS server -->
                <Dns2>8.8.8.8</Dns2> <!-- Secondary DNS server -->
                <Ipaddress2></Ipaddress2> <!-- Second static IP address-->
                <Netmask2></Netmask2> <!-- Subnet mask of the second IP address -->
                <PppoeUsername></PppoeUsername> <!-- The username provided by ISP,required if Type=pppoe -->
                <PppoePassword></PppoePassword> <!-- The password provided by ISP,required if Type=pppoe -->
                <Ipv6Type></Ipv6Type> <!-- Network type for IPv6. Valid values:dhcp,staticip -->
                <Ipv6Ipaddress></Ipv6Ipaddress> <!-- Static IPv6 address,required if Type=staticip -->
                <Ipv6PrefixLength></Ipv6PrefixLength>  <!-- Prefix length,required if Type=staticip -->
                <Ipv6Gateway></Ipv6Gateway> <!-- Gateway address -->
                <Ipv6Dns1></Ipv6Dns1> <!-- Preferred DNS server -->
                <Ipv6Dns2></Ipv6Dns2> <!-- Secondary DNS server -->
                <Ipv6Ipaddress2></Ipv6Ipaddress2> <!-- Second static IPv6 address -->
                <Ipv6PrefixLength2></Ipv6PrefixLength2> <!-- Prefix length of the second IPv6 address -->
                <Priority></Priority> <!-- Priority,required if Protocol=ipv4+ipv6. Valid values: ipv4,ipv6 -->
            </NicSettingEth1>
        </Basicnetwork>     
        <WebServer> <!-- Web Server Setting-->
            <Protocol>https</Protocol>            <!-- Transport protocol. Valid values:http,https -->
            <HttpPort>80</HttpPort>              <!-- HTTP port -->
            <HttpsPort>8088</HttpsPort>           <!-- HTTPS port -->
            <TlsVersion>4</TlsVersion>           <!-- TLS version. Valid values:4,7 (4:TLS1.2    7:TLS1.0,TLS1.1,TLS1.2) -->
            <EnableRedirect>1</EnableRedirect>   <!-- Whether to redirect from HTTP 80 port. Valid values: 0,1 (0:disabled, 1:enabled)-->
            <HttpsCert></HttpsCert>               <!-- HTTPS certificate name -->
        </WebServer>
        <FQDN><!-- FQDN Setting -->
            <EnableNatFqdn>1</EnableNatFqdn><!-- Whether to enable Yeastar FQDN. Valid values: 0,1 (0:disabled, 1:enabled)-->
            <FqdnDomain>pbxexample</FqdnDomain><!-- Enter the prefix of theFQDN domain name, the system will automatically add the suffix "ras.yeastar.com" -->
            <RasFeatures><!-- RAS Feature list -->
                <Feature>
                    <Type>sip</Type><!-- Service type. Valid values: web,linkus,sip -->
                    <Status>1</Status><!-- Whether to enable remote access to the service. Valid values: 0,1 (0:disabled, 1:enabled) -->
                    <AccessType>restricted</AccessType><!-- Account access restriction type for the service. Valid values:allowed,restricted -->
                    <RestrictedAccountList><!-- Extension accounts that can not access the service -->
                        <OptionParam Type="Extension" Name="1001" />
                        <OptionParam Type="Extension" Name="1000" />
                    </RestrictedAccountList>
                    <RestrictedTrunkList>   
                         <TrunkOption Type="Trunk" Name="6700" /> <!-- Account trunks that can not access the service-->
                    </RestrictedTrunkList>
                    <EnbPermittedIp>1</EnbPermittedIp>     <!-- Whether to enable IP restriction. Valid values: 0,1 (0:disabled, 1:enabled) -->
                    <PermittedIpList><!-- The allowed IP addresses,required if EnbPermittedIp=1 -->
                        <RasPermittedIp>
                            <IpAddress>192.168.1.1</IpAddress>      <!-- IP address -->
                            <SubnetMask>255.255.255.0</SubnetMask>  <!-- Subnet mask -->
                        </RasPermittedIp>
                    </PermittedIpList>
                </Feature>
                <Feature>
                    <Type>web</Type><!-- Service type. Valid values: web,linkus,sip -->
                    <AccessType>restricted</AccessType>       <!-- Account access restriction type for the service. Valid values:allowed,restricted -->
                    <RestrictedAccountList>                <!-- Extension accounts that can not access the service -->
                        <OptionParam Type="Extension" Name="1001" />
                        <OptionParam Type="Extension" Name="1000" />
                    </RestrictedAccountList>
                    <RestrictedAdminList> <!-- Restrict administrator from accessing the service. -->
                        <OptionParam Type="Admin" Name="Admin"/>
                    </RestrictedAdminList>
                    <EnbPermittedIp>1</EnbPermittedIp><!-- Whether to enable IP restriction. Valid values: 0,1 (0:disabled, 1:enabled) -->
                    <PermittedIpList><!-- The allowed IP addresses,required if EnbPermittedIp=1 -->
                        <RasPermittedIp>
                            <IpAddress>192.168.1.1</IpAddress>      <!-- IP address -->
                            <SubnetMask>255.255.255.0</SubnetMask>  <!-- Subnet mask -->
                        </RasPermittedIp>
                    </PermittedIpList>
                </Feature>
                <Feature>
                    <Type>linkus</Type><!-- Service type. Valid values: web,linkus,sip -->
                    <EnbPermittedIp>1</EnbPermittedIp><!-- Whether to enable IP restriction. Valid values: 0,1 (0:disabled, 1:enabled) -->
                    <PermittedIpList><!-- The allowed IP addresses,required if EnbPermittedIp=1 -->
                        <RasPermittedIp>
                            <IpAddress>192.168.1.1</IpAddress><!-- IP address -->
                            <SubnetMask>255.255.255.0</SubnetMask>  <!-- Subnet mask -->
                        </RasPermittedIp>
                    </PermittedIpList>
                </Feature>
            </RasFeatures>
        </FQDN>
        <ServicePorts> <!-- Service Ports -->
            <Linkus>8111</Linkus> <!-- Linkus port -->
            <Ftp>21</Ftp> <!-- FTP port -->
            <Tftp>69</Tftp> <!-- TFTP port -->
            <Ldap>389</Ldap> <!-- LDAP port -->
        </ServicePorts>
        <PublicIpAndPorts><!-- Public IP and Ports -->
            <EnbNat>1</EnbNat>                          <!-- Whether to enable NAT. Valid values: 0,1 (0:disabled, 1:enabled) -->
            <NatType>external_ip</NatType>                 <!-- NAT type. Valid values: external_ip, external_host, ys_domain -->
            <ExternalIpAddr>34.23.123.1</ExternalIpAddr> <!-- Public IP address, required if NatType=external_ip-->
            <ExternalHostAddr>host.example.com</ExternalHostAddr> <!-- External host,required if NatType=external_host -->
            <HostRefreshInterval>30</HostRefreshInterval> <!-- The interval for PBX to request the external host for public IP. Required if NatType=external_host -->
            <YsDomainAddr>custom</YsDomainAddr> <!-- Enter the prefix of the Yeastar domain, the system will automatically add the suffix"cloudpbx.yeastar.com". Required if NatType=ys_domain -->
            <YsIpType>static</YsIpType>                 <!-- Public IP type，required if NatType=ys_domain. Valid values: static,dynamic -->
            <YsDomainIp>203.0.113.2</YsDomainIp>        <!-- Static public IP address,required if YsIpType=static -->
            <YsDomainStun>stun.example.com</YsDomainStun> <!-- STUN server address,required if YsIpType=dynamic -->
            <YsDomainRefreshInterval>120</YsDomainRefreshInterval> <!-- The interval for PBX to request the STUN server for public IP -->
            <LocalNetworkList>                          <!-- Local network list -->
                <RasPermittedIp>
                    <IpAddress>192.168.10.1</IpAddress>   <!-- Local IP address -->
                    <SubnetMask>255.255.255.0</SubnetMask> <!-- Network mask -->
                </RasPermittedIp>
            </LocalNetworkList>
            <NatMode>yes</NatMode>                 <!-- NAT mode. Valid values:yes,no,never,route -->
            <ExternalUdpPort>5060</ExternalUdpPort>     <!-- External SIP UDP Port -->
            <ExternalTcpPort>5060</ExternalTcpPort>     <!-- External SIP TCP Port -->
            <ExternalTlsPort>5061</ExternalTlsPort>     <!-- External SIP TLS Port -->
            <ExternalLinkusPort>8089</ExternalLinkusPort> <!-- External Linkus Port -->
            <ExternalWebPort>80</ExternalWebPort>       <!-- External Web Server Port -->
            <ExternalLdapPort>389</ExternalLdapPort>    <!-- External LDAP Port -->
        </PublicIpAndPorts>

        <EmailSetting> <!-- Email Setting -->
            <ServerType>custom</ServerType> <!--Type of email server. Valid values:ys, custom, disabled (ys:Yeastar SMTP Server; custom:Custom Email Server; disabled:Disabled)-->
            <ProviderType>general</ProviderType>  <!--Email server provider. Valid values:general,azureactivedirectory (general: General; azureactivedirectory:Microsoft)-->
            <SenderEmailAddr>4561@126.com</SenderEmailAddr> <!-- Sender email address, required if ServerType=custom -->
            <SenderEmailUsername></SenderEmailUsername> <!-- The email address or username to log in to the SMTP server as a client -->
            <SenderEmailPassword></SenderEmailPassword> <!-- The password for the defined email address or username to log in to the SMTP server as a client -->
            <SmtpHost>234</SmtpHost>  <!--SMTP server address -->
            <SmtpPort>0</SmtpPort> <!-- SMTP server port -->
            <UseTls>1</UseTls> <!-- Whether to enable TLS enryption. Valid values: 0,1 (0:disabled, 1:automatic) -->
            <TenantId></TenantId> <!-- Tenant ID. Required if ProviderType=azureactivedirectory --> 
            <ClientId></ClientId> <!-- Client ID. Required if ProviderType=azureactivedirectory -->
            <ClientSecret></ClientSecret> <!-- Client secret. Required if ProviderType=azureactivedirectory -->
        </EmailSetting>

        <EmailTemplateSetting> <!-- Email Template Setting -->
            <Language>en</Language> <!-- For valid values,please refer to https://help.yeastar.com/en/p-series-software-edition/software-installation-guide/xml-configuration-file-reference.html -->
        </EmailTemplateSetting>

        <RemoteManagement>  <!-- Remote Management -->
            <AuthType>account</AuthType> <!-- Authentication type: Valid value: account -->
            <AuthId>Yeastar123</AuthId> <!-- Yeastar ID -->
            <AuthPassword>password456</AuthPassword> <!-- Password associated with the Yeastar ID -->
            <LoginUser>adminAD</LoginUser> <!-- The username to access the PBX via Yeastar Central Management -->
            <LoginPwd>Yeastar202</LoginPwd> <!-- The password to access the PBX via Yeastar Central Management -->
            <EnbFreeLogin>1</EnbFreeLogin> <!-- Whether to enable passwordless login to the PBX via Yeastar Central Management. Valid values: 0,1 (0:disabled, 1:enabled) -->
        </RemoteManagement>

        <DateTimeSettings> <!-- Date and Time Setting -->
            <Timezone>UTC+8 Asia/Shanghai</Timezone> <!-- Time Zone. For valid values,please refer to https://help.yeastar.com/en/p-series-software-edition/software-installation-guide/xml-configuration-file-reference.html -->
            <EnableDst>0</EnableDst> <!-- Whether to enable Daylight Saving Time. Valid values: 0,1 (0:disabled, 1:automatic) -->
            <EnableNtp>1</EnableNtp> <!-- Whether to synchronize time with NTP server.Valid values: 0,1 (0:disabled, 1:enabled) -->
            <NtpServer>ntp.aliyun.com</NtpServer> <!-- NTP Server address, required if EnableNtp=1 -->
            <DateFormat>mm/dd/yyyy</DateFormat> <!-- Date display format.Valid values: yyyy/mm/dd,mm/dd/yyyy,dd/mm/yyyy-->
            <TimeFormat>12-hour</TimeFormat> <!-- Time display format. Valid values:12-hour,24-hour -->
            <Date></Date> <!-- Manually set date, required if EnableNtp=0. The format should comply with DateFormat -->
            <Time></Time> <!-- Manually set time, required if EnableNtp=0. The format should comply with TimeFormat -->
        </DateTimeSettings>
    </System>

    <Security> <!-- Security Setting -->
        <SecurityRules> <!-- Security Rules -->
            <StaticDefence> <!-- Static Defense Rules -->
                <Name>accept</Name> <!-- Rule name -->
                <Description></Description> <!-- Rule description -->
                <Action>accept</Action> <!-- How PBX will process connection attempts from the designated address. Valid values:accept,drop,reject -->
                <Type>ip</Type> <!-- Object type for the rule. Valid values:ip,domain,mac -->
                <SourceIpAddress>123.213.123.123</SourceIpAddress> <!-- IP address -->
                <SubnetMask>255.255.255.255</SubnetMask> <!-- Subnet mask -->
                <ServiceOrPortRange></ServiceOrPortRange> <!-- The type of defense objects, required if Action=drop/reject. Valid values:service,port_range -->
                <Service></Service> <!-- Required if ServiceOrPortRange=service. Valid values:none,sip,web,linkus,ssh,ami,database_grant,ldap,ftp,tftp -->
                <StartPort></StartPort> <!-- Start port, required if ServiceOrPortRange=port_range -->
                <EndPort></EndPort> <!-- End port, required if ServiceOrPortRange=port_range -->
            </StaticDefence>
            <StaticDefence><!-- Static Defense Rules -->
                <Name>drop</Name> <!-- Rule name -->
                <Description></Description> <!-- Rule description -->
                <Action>drop</Action> <!-- How PBX will process connection attempts from the designated address. Valid values:accept,drop,reject -->
                <Type>domain</Type> <!-- Object type for the rule. Valid values:ip,domain,mac -->
                <Domain>abc.com</Domain> <!-- Domain name -->
                <ServiceOrPortRange>port_range</ServiceOrPortRange> <!-- The type of defense objects, required if Action=drop/reject. Valid values:service,port_range -->
                <StartPort>23</StartPort> <!-- Start port, required if ServiceOrPortRange=port_range -->
                <EndPort>25</EndPort> <!-- End port, required if ServiceOrPortRange=port_range -->
                <Protocol>both</Protocol> <!-- Protocols applied for the rule. Valid values:both,udp,tcp -->
            </StaticDefence>
        </SecurityRules>
        <SecuritySettings> <!-- Security Setting -->
            <SshAccess>
                <EnableSsh>1</EnableSsh> <!-- Whether to enable SSH access. Valid values: 0,1 (0:disabled, 1:enabled) -->
                <SshPort>8022</SshPort> <!-- SSH Port. Enter a value between 2000 and 65535 -->
                <SupportPassword>SupportPBX123</SupportPassword> <!-- password for support account-->
                <RootPassword>RoorPBX</RootPassword> <!-- password for root account-->
            </SshAccess>
            <AllowCountryCode> <!-- Allowed Country Codes -->
                <EnbCountryCode>1</EnbCountryCode> <!-- Whether to enable allowed country/region code dialing protection.Valid values: 0,1 (0:disabled, 1:enabled) -->
                <Dialcode>62</Dialcode> <!-- International Dialing Code -->
            </AllowCountryCode>
            <Certificates>
                <Certificate Type="file" Name="xxx.qc.xx.com">
                    <CertificateType>server</CertificateType> <!-- Certificate Type. Valid values:server,trusted (server:PBX Certificate; trusted:Trusted Certificate) -->
                    <CertificatePath>/ysdisk/gui_backups/xmlimport/xxx.qc.xx.com</CertificatePath> <!-- Certificate path -->
                </Certificate>
                <Certificate Type="text" Name="webB.web">
                    <CertificateType>trusted</CertificateType>
                    <PublicKey>
-----BEGIN CERTIFICATE-----
MIIFbjCCBFagAwIBAgISLKw8jSJAixcvXDPJOMhZNHSyMA0GCSqGSIb3DQEBCwUA
MFoxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExcoU1RBR0lORykgTGV0J3MgRW5jcnlw
dDEpMCcGA1UEAxMgKFNUQUdJTkcpIENvdW50ZXJmZWl0IENhc2hldyBSMTAwHhcN
MjUwMzA2MDQ1ODU1WhcNMjUwNjA0MDQ1ODU0WjApMScwJQYDVQQDEx5kZXZ0ZXN0
Ni5xYy55ZWFzdGFyZGlnaXRhbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDDbjhzfxL2NFBZ7ab/SfIKNZ3b+yzdZULokJB9eJoAJLG1HoUFy/KZ
9CGi7nywrZZekSMHdTFFtAffCUilEoM8NpiskjfrGvTh5vSSFEmmuYSlPP2fTiV9
8m4wyCh4xjR1xSCDVlLySdAHLqXJXkTfe8xMwxDiO/Eq8szvqFcxH2gk8MQCBNX/
piAwy5yz476uGGYfWECp1/bYanQHL3eIvXeM9lw/AvMqG1HscXO9nKF1TXI9x5N3
cT0bImrqd4u6YkSv2wI20uGDdTbAkNkj6ICx6GqG9kLv7g5UAo9KZvdwy17nxa4w
75twf5f7d0NMOolyz0xlwzOQPDhYuWVNAgMBAAGjggJdMIICWTAOBgNVHQ8BAf8E
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC
MAAwHQYDVR0OBBYEFIhanFdV2QfAvF3v0zI1N2gvjEX2MB8GA1UdIwQYMBaAFKRS
RupYqI9o2LexkNFKQkqPayhxMF8GCCsGAQUFBwEBBFMwUTAmBggrBgEFBQcwAYYa
aHR0cDovL3N0Zy1yMTAuby5sZW5jci5vcmcwJwYIKwYBBQUHMAKGG2h0dHA6Ly9z
dGctcjEwLmkubGVuY3Iub3JnLzApBgNVHREEIjAggh5kZXZ0ZXN0Ni5xYy55ZWFz
dGFyZGlnaXRhbC5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwMgYDVR0fBCswKTAn
oCWgI4YhaHR0cDovL3N0Zy1yMTAuYy5sZW5jci5vcmcvNTEuY3JsMIIBAwYKKwYB
BAHWeQIEAgSB9ASB8QDvAHYA3Zk0/KXnJIDJVmh9gTSZCEmySfe1adjHvKs/XMHz
bmQAAAGVage5QwAABAMARzBFAiB1I3hQDtnIorUrMcT0UQ7ZCtXHZisT6f18P0YK
X+JiMQIhAIZYlUKcvzgjl5bnbK/Dk2LXB2BS437Tn/eB5mAXMGi/AHUAsMyD5aX5
fWuvfAnMKEkEhyrH6IsTLGNQt8b9JuFsbHcAAAGVage5IwAABAMARjBEAiAT7bio
+YJQHvexce0FbNx0l2ufpntC91E0dSEOonistQIgEQVv8tgB/mFAXtNCGc9nZstl
LlzX4W9zoFJtxrhcS9owDQYJKoZIhvcNAQELBQADggEBABijwcFmDEgi9C7M/sf0
CS5aWhfSJpOLS7oiblf5/3uICez34U9U0rpLfF/C1T4lVW3Vp3GhI/xa364Pyqgi
wKeZw+E5oRDRAP+T02aJCZYYDnbW+Ke1hG6GIwfQ5d1XXtWSdZtG2K+m8TDUEAev
c54Cw8cIy3G40ElGtbEtEkYvbVcL8DI2W8f/ICDS7qf8U7+9MvS8qJMz7X/N/waz
iy3DKHmqE44lnCaHM1CoRh7C+3n83/+D/qPBpaa/Im0n1mPt0XfvGNGC9qzAtgLC
o8E8U/MQay8oWchDVq5sjx+tpMzDPPe4acs07wzlMzErCcSoSVU6WiOKSiqKcCLY
wL8=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFTTCCAzWgAwIBAgIRAIEbJZNMRe313pPFbPDf1AQwDQYJKoZIhvcNAQELBQAw
ZjELMAkGA1UEBhMCVVMxMzAxBgNVBAoTKihTVEFHSU5HKSBJbnRlcm5ldCBTZWN1
cml0eSBSZXNlYXJjaCBHcm91cDEiMCAGA1UEAxMZKFNUQUdJTkcpIFByZXRlbmQg
UGVhciBYMTAeFw0yNDAzMTMwMDAwMDBaFw0yNzAzMTIyMzU5NTlaMFoxCzAJBgNV
BAYTAlVTMSAwHgYDVQQKExcoU1RBR0lORykgTGV0J3MgRW5jcnlwdDEpMCcGA1UE
AxMgKFNUQUdJTkcpIENvdW50ZXJmZWl0IENhc2hldyBSMTAwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQCa8zRfthw5T4/n9kt2iuNxb4zt78rR3ZygeZvp
GGx8nMdU7jqCLeOqkuqhKBvBV823fvA0bYg3JaCiFsyB6Idry8eVZLFJp3BtBZFX
pbAb7+QCYLAZrUl5rX3G9VoTG/x4Q8a9pN57CI34bmJlKaaefSLoeeAOArk8fcV3
/MkTQHWG+heh9ex0ogr3kDQQOSm+dI14hz75eHuiV26kory+tDDBN1re76Qf8RRt
NxnngYZFrbJ9IOovFJa28weGOVXekOL4JJ7/VdFMMceXQze8M+0qnkaaj+HNRYQx
z0N1geD3clT/xrme3gL0y5xAKjX6eq4dXdJuau0h90VFTc3DAgMBAAGjggEAMIH9
MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUpFJG6lioj2jYt7GQ0UpCSo9r
KHEwHwYDVR0jBBgwFoAUtfNl8v6wCpIf+zx980SgrGMlwxQwNgYIKwYBBQUHAQEE
KjAoMCYGCCsGAQUFBzAChhpodHRwOi8vc3RnLXgxLmkubGVuY3Iub3JnLzATBgNV
HSAEDDAKMAgGBmeBDAECATArBgNVHR8EJDAiMCCgHqAchhpodHRwOi8vc3RnLXgx
LmMubGVuY3Iub3JnLzANBgkqhkiG9w0BAQsFAAOCAgEAHhpGt8p6QJk8fnM0zOS5
AEUultcQP/20NSCdBpIxAfownd+ylUzH2s1prl8T9rhKzTm4xZ+NBqPEDAd/1p5e
1PYqR8bNnKJcTAAkjBYvKo5br0ng6GUkCQTqJ3atbAvx2bghdfrULF6+u+f4o288
Jo6o1kN2Jf1mTXTKi2GRJ5JerChn0dls28Mzx8QS3mWfFFSu+QuGwtxLty7ySzWE
TH+lNMa8U6MbtSvoWf8OYzNUZ7Bih6JKnuo4ueG7zRir2go8ygNdZoWHhmk84c35
ABH8dKX+fKNDK6xzeygtbguJN2/D1n72RQK8w7gXjT7ptphEoxmxe+ZSQ1XEoKUv
I/Xy2D8F/5+b4Uxg8xSNev/N+E9F/env3Pp7zQJt/L4dhnUMoqqbAOifOE8l/CdN
QHKv1OJkNYiaJ+xfx+Z9wUw4zRvjuD23EK42GjCfsK0JNuHb98LAmDBF+Xfq+PlH
OGZTLlmnM72Jmjvi5IJ/uo5pM2QbmauUMle4tZwq11ipRs0BggZY0fHFK/7AxXj/
j3PQZAbnLSo/9x/YUK6aR1NGZYBScfwFCfbEMNuXB1KJJvn/eQP7TbVSrqsrsHpk
AAzAHvDkhUpctdN8Bfjjylj4p9D0zGpqz7RMd4EKnC+K6waARt3+cY05nzq7uF34
4eamtcAi8f6h3h9vQlcWOAg=
-----END CERTIFICATE-----
                    </PublicKey>
                    <PrivateKey>
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAw244c38S9jRQWe2m/0nyCjWd2/ss3WVC6JCQfXiaACSxtR6F
BcvymfQhou58sK2WXpEjB3UxRbQH3wlIpRKDPDaYrJI36xr04eb0khRJprmEpTz9
n04lffJuMMgoeMY0dcUgg1ZS8knQBy6lyV5E33vMTMMQ4jvxKvLM76hXMR9oJPDE
AgTV/6YgMMucs+O+rhhmH1hAqdf22Gp0By93iL13jPZcPwLzKhtR7HFzvZyhdU1y
PceTd3E9GyJq6neLumJEr9sCNtLhg3U2wJDZI+iAsehqhvZC7+4OVAKPSmb3cMte
58WuMO+bcH+X+3dDTDqJcs9MZcMzkDw4WLllTQIDAQABAoIBACHeMJdHbuRPBZvI
FThJutHtH8nXOhu2KEXAg+HSrDGZKljejKQIB6eJiOjBFsfRlW0XDvCEbUEMpY6P
/9BnqGmfdo71mg468jRR/5FvRaJIpUWzj6pzcwjkIhd/IJBpnP7J5kwMgjxt8UjF
W0LN/PaT8EBfT8Y9KBrO0Bg6Xr3qyzv/pdNHuw2rUlzDZJ+Rjs8cssjKPam3DJ2p
BFLcfhJxEXUaSuBiRWOQJNovDnmGkc9JKNdLVNli+cPauVrfn+HHkKtDXkWFY5RR
8w1JXtWlL41KchM8dNaxoqyhB0zByyJB4nMc84MkEQ4UGauOQoNaK/taOIw3wtDA
nq2wEKsCgYEA0HH9YcaF6k1abQ343He5MzV9z7S4xVGKGTLmBtizzUtV3Wlkie81
XzkV3+N4awfnhIN93MeW425mfqAZLKIH5T6u2Dy8006624cRIrPSsiDMnd6UEPOn
yKxbf9ma+nZaYwixDgdRi6uHRh1c1yknSfEAncIm/mLR4dKHY4uF/GcCgYEA8AQe
2z2uUK2+0q3YY3XmFPCVxCxdz+TkyY78Qv024pphNth7kEa9EoUCDhiHDlqwc3Ic
N7ITVkxIgxGMYJY+yeskA1CejHkuai77UIIq5QxIRkMSjAFEoDfdCyRRsksMQV4V
UZB1+BNub/EA7RNdau8KYDvFU9QHk7RdbAoIACsCgYEAn0BXi5n2ufl7OpJQLXAy
yFL32faCrA4N6g6e+2AYjqId6dkZfOCK8ENW2QSa/Xq+gNlNEZ5TQ1MXb2q1kQoB
6j0nrAFLak1eKVZZ2x9zu6+fZIWmrgTZjVFRXq5L30sI51y+mK8yt/jGkuTgB2pj
n/RGukCZNgUdwN/tnDn+lcUCgYAIU/xGGzPLNNwkL0gM23BqVZa8wdVXe1e87qsu
H98hqb2py4UuEmZJGDhkCNHW26q3tsPn4tPs8KSrd5ZpW40+MFyFiOyXbzT/FjY+
KuYWIID5fyZLmVeqP4X59v6msxfvxLX0qJCPVQ1F8RTZJQzewwCXKjvEltzUcTO0
pfx1FQKBgQCutWDfB5vNWdi1RlppUDH9Xky4AOqyBF8Ekm32jgdgr9Tbmn+LXAVZ
7DNPwhPKwUMSJUwY2FBWrNgcFj2ZxOfPzmA8J5Ouf6Fk0qiL+8TQtOuVGrBMH4G8
kMJjaEgJXUcg/doyjjRepu9l4GVZlX2SEspMQ3yeWlh2Vkjwcl4uiQ==
-----END RSA PRIVATE KEY-----
                    </PrivateKey>
                </Certificate>
            </Certificates>
        </SecuritySettings>
    </Security>

    <Activation> <!-- Activation -->
        <Type>online</Type> <!-- Activation Method -->
        <Code>E4LP-2RJA-CFCV-VJRT-QNF4</Code> <!-- Activation Code -->
    </Activation>

    <AdministratorSettings> <!-- Super Administrator Setting.If not specified, the default values will be: Username:admin; Password:PBXadmin123; Email:pbx@example.com -->
        <Username>admin</Username> <!-- Username -->
        <Password>Yeastar202</Password> <!-- Password -->
        <Email>sunjh@yeastar.com</Email> <!-- Email Address -->
        <Mobile>1234567890</Mobile> <!-- Mobile Number -->
        <EnableEventNotify>1</EnableEventNotify> <!-- Whether to send event notifications to administrator or not. Valid values: 0,1 (0:disabled, 1:enabled)-->
        <EventContactName>JohnDoe</EventContactName> <!-- Name of the administrator to receive event notifications -->
        <EventNotifyLevels>warn info error</EventNotifyLevels> <!-- Levels of events to notify. Valid values:warn,info,error -->
        <EnableEmailNotify>1</EnableEmailNotify> <!-- Whether to send event notifications by email. Valid values: 0,1 (0:disabled, 1:enabled)-->
        <EnableMobileNotify>0</EnableMobileNotify> <!-- Whether to send event notifications by phone call. Valid values: 0,1 (0:disabled, 1:enabled) -->
    </AdministratorSettings>

    <PBXLocalization>  <!-- PBX Localization Setting -->
        <SystemPromptLanguage>sound-en</SystemPromptLanguage>  <!-- System Prompt Language,only one language can be selected. For valid values,please refer to https://help.yeastar.com/en/p-series-software-edition/software-installation-guide/xml-configuration-file-reference.html -->
    </PBXLocalization> 

    <PBXOtherSettings>  <!-- PBX Other Setting -->
        <DevName>PBX</DevName><!-- Device Name -->
        <NameDispFmt>last_first</NameDispFmt><!-- Name Display Format. Valid values: lastfirst,first_last,last_first (lastfirst: Last Name First Name without Space Inbetween;first_last:First Name Last Name with Space Inbetween;last_first:Last Name First Name with Space Inbetween )-->
        <ToneRegion>cn</ToneRegion><!-- Tone Region. For valid values,please refer to https://help.yeastar.com/en/p-series-software-edition/software-installation-guide/xml-configuration-file-reference.html -->
    </PBXOtherSettings> 

    <SIPSettings> <!-- SIP Setting -->
        <UDPPort>5060</UDPPort>                     <!-- SIP UDP Port -->
        <RtpPortStart>10000</RtpPortStart>          <!-- RTP Start Port -->
        <RtpPortEnd>20000</RtpPortEnd>              <!-- RTP End Port -->
        <TCPPort>5060</TCPPort>                     <!-- SIP TCP Port -->
        <OutboundPortStart>30000</OutboundPortStart> <!-- Outbound Start Port -->
        <OutboundPortEnd>40000</OutboundPortEnd>    <!-- Outbound End Port -->
        <EnbTls>0</EnbTls>                          <!-- Whether to enable TLS encryption. Valid value: 0,1 (0: disabled, 1: enabled) -->
        <TlsPort>5061</TlsPort>                     <!-- SIP TLS Port(default 5061) -->
        <CodecSel>ulaw,alaw,gsm,vp8,h264,ilbc,g722,g726,g729,h263</CodecSel>            <!-- Codecs. Valid values:ulaw,alaw,gsm,vp8,h264,ilbc,g722,g726,g729,h263,h263p,adpcm,speex,mpeg4,opus. Use commas to separate multiple codecs. -->
        <TlsServerCert></TlsServerCert>             <!-- TLS Server Certificate -->
    </SIPSettings>

    <IntegrationsAPI> <!-- API Integration Setting -->
        <APIEnable>1</APIEnable>   <!-- Whether to enable API Integration or not.Valid values: 0,1 (0: disabled; 1:enabled)  -->
        <EnbIpRestriction>1</EnbIpRestriction> <!-- Whether to restrict the IP addresses that are allowed to use the API feature. Valid values: 0,1 (0: disabled; 1:enabled) -->
        <PermittedIpList> <!-- The IP addresses that are allowed to use the API feature -->
            <IpNetwork>
                <Ip>192.168.1.1</Ip>
                <Netmask>255.255.255.0</Netmask>
            </IpNetwork>
        </PermittedIpList>
    </IntegrationsAPI>
</PBXConfig>
