diff options
author | arf20 <aruizfernandez05@gmail.com> | 2025-07-11 20:36:01 +0200 |
---|---|---|
committer | arf20 <aruizfernandez05@gmail.com> | 2025-07-11 20:36:01 +0200 |
commit | e661974fbe9ecf8e7eed0e52a41855fd1eaa684d (patch) | |
tree | 2c0085f58a2feb14566df084ded539bf61aa22db | |
download | arfnet2-asterisk-e661974fbe9ecf8e7eed0e52a41855fd1eaa684d.tar.gz arfnet2-asterisk-e661974fbe9ecf8e7eed0e52a41855fd1eaa684d.zip |
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | asterisk-conf/acl.conf | 96 | ||||
-rw-r--r-- | asterisk-conf/extensions.conf | 233 | ||||
-rw-r--r-- | asterisk-conf/iax.conf | 33 | ||||
-rw-r--r-- | asterisk-conf/pjsip.conf | 278 | ||||
-rw-r--r-- | asterisk-conf/rtp.conf | 162 | ||||
-rw-r--r-- | asterisk-conf/sccp.conf | 182 | ||||
-rw-r--r-- | asterisk-conf/voicemail.conf | 52 | ||||
-rw-r--r-- | tftp-sepfiles/SEP001AA11B4EC1.cnf.xml | 311 | ||||
-rw-r--r-- | tftp-sepfiles/SEP001BD4C70670.cnf.xml | 105 |
10 files changed, 1456 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..c21ea3b --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# arfnet2-asterisk + +Asterisk configuration for ARFNET + diff --git a/asterisk-conf/acl.conf b/asterisk-conf/acl.conf new file mode 100644 index 0000000..7b7976c --- /dev/null +++ b/asterisk-conf/acl.conf @@ -0,0 +1,96 @@ +; +; Named Access Control Lists (ACLs) +; +; A convenient way to share acl definitions +; +; This configuration file is read on startup +; +; CLI Commands +; ----------------------------------------------------------- +; acl show Show all named ACLs configured +; acl show <name> Show contents of a particular named ACL +; reload acl Reload configuration file +; +; Any configuration that uses ACLs which has been made to be able to use named +; ACLs will specify a named ACL with the 'acl' option in its configuration in +; a similar fashion to the usual 'permit' and 'deny' options. Example: +; acl=my_named_acl +; +; Multiple named ACLs can be applied by either comma separating the arguments or +; just by adding additional ACL lines. Example: +; acl=my_named_acl +; acl=my_named_acl2 +; +; or +; +; acl=my_named_acl,my_named_acl2 +; +; ACLs specified by name are evaluated independently from the ACL specified via +; permit/deny. In order for an address to pass a given ACL, it must pass both +; the ACL specified by permit/deny for a given item as well as any named ACLs +; that were specified. +; +;[example_named_acl1] +;deny=0.0.0.0/0.0.0.0 +;permit=209.16.236.0 +;permit=209.16.236.1 +; +;[example_named_acl2] +;permit=0.0.0.0/0.0.0.0 +;deny=10.24.20.171 +;deny=10.24.20.103 +;deny=209.16.236.1 +; +; example_named_acl1 above shows an example of whitelisting. When whitelisting, the +; named ACLs should follow a deny that blocks everything (like deny=0.0.0.0/0.0.0.0) +; The following example explains how combining the ACLs works: +; <in another configuration> +; [example_item_with_acl] +; acl=example_named_acl1 +; acl=example_named_acl2 +; +; Suppose 209.16.236.0 tries to communicate and the ACL for that example is applied to it... +; First, example_named_acl1 is evaluated. The address is allowed by that ACL. +; Next, example_named_acl2 is evaluated. The address isn't blocked by example_named_acl2 +; either, so it passes. +; +; Suppose instead 209.16.236.1 tries to communicate and the same ACL is applied. +; First, example_named_acl1 is evaluated and the address is allowed. +; However, it is blocked by example_named_acl2, so the address is blocked from the combined +; ACL. +; +; Similarly, the permits/denies in specific configurations that make up an ACL definition +; are also treated as a separate ACL for evaluation. So if we change the example above to: +; <in another configuration> +; [example_item_with_acl] +; acl=example_named_acl1 +; acl=example_named_acl2 +; deny=209.16.236.0 +; +; Then 209.16.236.0 will be rejected by the non-named component of the combined ACL even +; though it passes the two named components. +; +; +; Named ACLs can use ipv6 addresses just like normal ACLs. +;[ipv6_example_1] +;deny = :: +;permit = ::1/128 +; +;[ipv6_example_2] +;permit = fe80::21d:bad:fad:2323 + +[internal] +deny=0.0.0.0/0.0.0.0 +permit=192.168.0.0/255.255.0.0 + +[external] +permit=0.0.0.0/0.0.0.0 + +[sdf] +deny=0.0.0.0 +permit=205.166.94.7/255.255.255.255 + +[pstn] +deny=0.0.0.0/0 +permit=176.56.119.0/255.255.255.0 + diff --git a/asterisk-conf/extensions.conf b/asterisk-conf/extensions.conf new file mode 100644 index 0000000..47dfc20 --- /dev/null +++ b/asterisk-conf/extensions.conf @@ -0,0 +1,233 @@ +[globals] +tandmxkey=l2408fy4dlia3SqONVFSLD0LVkNmuerd209181Rl8228829DYIB +tandmxhostid=110 + +arf20=PJSIP/1051 +all=PJSIP/1001&PJSIP/1002&PJSIP/1051&SCCP/1101 + + +[from-internal] + +exten => _1XXX,1,Goto(internal-users,${EXTEN},1) ; 1xxx users +exten => _2XXX,1,Goto(internal-services,${EXTEN},1) ; 2xxx services +exten => _8XXXXXXX,1,Goto(tandmx,${EXTEN:1},1) ; tandmx prefixed by 8 +exten => _733XXXX,1,Set(number=${EXTEN:3}) ; SDF numbers prefixed by 733 + same => n,Goto(sdf,${EXTEN:3},1) + +; PSTN +exten => _0ZX,1,Goto(pstn,${EXTEN},1) ; emergency numbers (3 numbers starting with 0 followed by non-zero) +exten => _112,1,Goto(pstn,${EXTEN},1) ; emergency service (fixed) +exten => _XXXXXX,1,Goto(pstn,968${EXTEN},1) ; regional numbers (6 digits) +exten => _[6789]XXXXXXXX,1,Goto(pstn,${EXTEN},1) ; national numbers (9 digits) +exten => _0ZXXX,1,Goto(pstn,${EXTEN:1},1) ; short numbers prefixed by 0 +exten => _00ZX!,1,Goto(pstn,${EXTEN},1) ; international numbers prefixed by 00 + +; catch invalid extension +exten => _X!,1,Goto(bogons,s,1) + +; catch timeouts +exten => t,1,Playback(press-button-again) + same => n,Hangup() + + +[internal-users] + +; arf20 alias +exten => 1000,1,Progress() + same => n,Dial(${arf20}, 20) + same => n,Goto(fail-to-internal,${EXTEN},1) + +; internal calls between extensions (10xx SIP) +exten => _10XX,1,Progress() + same => n,Dial(PJSIP/${EXTEN}, 20) + same => n,Goto(fail-to-internal,${EXTEN},1) + +; internal calls between extensions (11xx SCCP) +exten => _11XX,1,Progress() + same => n,Dial(SCCP/${EXTEN}, 20) + same => n,Goto(fail-to-internal,${EXTEN},1}) + + +[internal-services] + +; test +exten = 2222,1,Answer() + same = n,Wait(1) + same = n,Playback(hello-world) + same = n,Hangup() +; test2 +exten = 2223,1,Answer() + same = n,Wait(1) + same = n,Playback(digits/10) + same = n,Hangup() +; Echo test +exten => 2101,1,NoOp(Echo test) +same => n,Playback(demo-echotest) +same => n,Echo() +same => n,Playback(demo-echodone) +same => n,Hangup() + + +; IVR +exten => 2000,1,Goto(ivr,s,1) +; conference +exten => 2001,1,Answer() + same => n,ConfBridge(1) +; asterisk time +exten => 2002,1,Answer() + same => n,DateTime() + same => n,Hangup() +; voicemail +exten => 2003,1,VoiceMailMain() + + +[ivr] +; prompt +exten => s,1,Answer(500) + same => n(loop),Background(arfnet/ivr_hello) + same => n,WaitExten() +; on 1 +exten => 1,1,Read(entered_ext,arfnet/please-enter-ext,4) + same => n,Goto(from-internal,${entered_ext},1) +; on 2 +exten => 2,1,Goto(internal-users,1000,1) +; on 3 +exten => 3,1,Goto(internal-services,2001,1) +; on 4 +exten => 4,1,VoiceMail(1000@default) + +exten = i,1,Playback(option-is-invalid) + same = n,Goto(ivr,s,1) + +exten = t,1,Playback(are-you-still-there) + same = n,Goto(ivr,s,1) + + +[from-external] + +exten => _1XXX,1,Goto(internal-users,${EXTEN},1) +exten => _2XXX,1,Goto(internal-services,${EXTEN},1) + +exten => _X!,1,Goto(bogons,s,1) + + +[from-anonymous] + +exten => _X!,1,Verbose(*** Anonymous direct IP inbound call from: ${CALLERID(all)}) + same => n,Goto(from-external,${EXTEN},1) + + +[sdf] + +; to SDF +exten => _XXXX,1,Verbose(*** Dialing outbound via SDF ${EXTEN}) + same => n,Set(CALLERID(num)=2063) + same => n,Dial(PJSIP/${EXTEN}@sdf) + same => n,Goto(fail-to-external,${EXTEN},1) + + +; external trunk calls from sdf +[from-sdf] + +exten => 2063,1,Answer() + same => n,Verbose(*** Inbound call via SDF from: ${CALLERID(all)}) + same => n,Dial(${arf20}) + same => n,Hangup() + + +[tandmx] + +; to Tandmx +exten => _XXXXXXX,1,Verbose(*** Dialing outbound via Tandmx to: ${EXTEN}) + same => n,Set(number=${EXTEN}) + same => n,Set(CALLERID(num)=2736${CALLERID(num):1}) + same => n,Set(lookup=${SHELL(curl "http://api.tandmx.net/api/v1/?auth=${tandmxkey}&number=${number}&ani=${CALLERID(num)}&host=${tandmxhostid}")}) + same => n,Dial(${lookup}) + same => n,Goto(fail-to-external,${EXTEN},1) + + +[from-tandmx] + +exten => _2736XXX,1,Answer() + same => n,Verbose(*** Inbound call via Tandmx from: ${CALLERID(all)}) + same => n,Goto(internal-users,1${EXTEN:4},1) + +exten => _2737XXX,1,Answer() + same => n,Verbose(*** Inbound call via Tandmx from: ${CALLERID(all)}) + same => n,Goto(internal-services,2${EXTEN:4},1) + + +[pstn] + +; to PSTN +exten => _X!,1,Verbose(*** Dialing outbound via PSTN to: ${EXTEN}) + same => n,Set(CALLERID(all)=868925554) + same => n,Dial(PJSIP/${EXTEN}@pstn) + same => n,Goto(fail-to-external,${EXTEN},1) + +[from-pstn] + +exten => 868925554,1,Answer() + same => n,Verbose(*** Inbound call via PSTN from: ${CALLERID(all)}) + same => n,Progress() + same => n,Wait(1) + same => n,Ringing() + same => n,Dial(${all},45,d) + same => n,VoiceMail(1000@default,u) + same => n,Hangup() + +exten => 1,1,Goto(ivr,s,1) + + +[bogons] + +exten => s,1,Answer() + same => n,Playback(pbx-invalid) + same => n,Hangup() + + +[fail-to-external] + +exten => _X!,1,Goto(s-${DIALSTATUS},1) ; (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER) + +exten => s-NOANSWER,1,Playback(vm-nobodyavail) + same => n,Hangup() + +exten => s-BUSY,1,Playback(all-circuits-busy-now) + same => 1,Busy(5) + same => n,Hangup() + +exten => s-CHANUNAVAIL,1,Playback(ss-noservice) + same => n,Hangup() + +exten => s-CONGESTION,1,Congestion(5) + same => n,Hangup() + +exten => _s-.,1,Goto(s-NOANSWER,1) + + +[fail-to-internal] + +exten => _X!,1,Set(MAILBOX=${EXTEN}) + same => n,Goto(s-${DIALSTATUS},1) ; (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER) + +exten => s-NOANSWER,1,VoiceMail(1000@default,u) ; If unavailable, send to voicemail w/ unavail announce + same => n,Hangup() ; If they press #, return to start + +exten => s-BUSY,1,VoiceMail(1000@default,b) ; If busy, send to voicemail w/ busy announce + same => n,Hangup() ; If they press #, return to start + +exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer + +exten => a,1,VoicemailMain(${MAILBOX}) ; If they press *, send the user into VoicemailMain + + +[send-text] +exten => s,1,Verbose(*** Sending text to: ${ARG1}) + same => n,Set(PEER=${CUT(CUT(CUT(MESSAGE(from),@,1),<,2),:,2)}) + same => n,Set(FROM=${SHELL(asterisk -rx ‘pjsip show endpoint ${PEER}’ | grep ‘callerid ‘ | cut -d’:’ -f2- | sed ‘s/^ *//’ | tr -d ‘‘)}) + same => n,Set(CALLERID_NUM=${CUT(CUT(FROM,>,1),<,2)}) + same => n,Set(FROM_SIP=${STRREPLACE(MESSAGE(from), + same => n,MessageSend(pjsip:${ARG1},${FROM_SIP}) + same => n,Hangup() + diff --git a/asterisk-conf/iax.conf b/asterisk-conf/iax.conf new file mode 100644 index 0000000..56d73df --- /dev/null +++ b/asterisk-conf/iax.conf @@ -0,0 +1,33 @@ +;==========================================================================================================; +; These values define how IAX connections are made. Only adjust them if you know what you're doing ; +;==========================================================================================================; + +[general] +bindaddr=0.0.0.0 +bindport=4569 +qualify=1000 +relaxdtmf=yes +bandwidth=high +;disallow=all +;allow=g722 +;allow=ulaw +;allow=alaw +allow=all +jitterbuffer=no +tos=0x12 +calltokenoptional=0.0.0.0/0.0.0.0 +requirecalltoken=no +delayreject=yes +autokill=yes +encryption=yes + +;======================================================; +; Adjust this section as part of TandmX setup! ; +;======================================================; + +[from-tandmx] +type=user +context=from-tandmx +auth=md5 +secret=REDACTED + diff --git a/asterisk-conf/pjsip.conf b/asterisk-conf/pjsip.conf new file mode 100644 index 0000000..faf8575 --- /dev/null +++ b/asterisk-conf/pjsip.conf @@ -0,0 +1,278 @@ +;===============TRANSPORT + +[simpletrans] +type=transport +protocol=udp +bind=0.0.0.0 +local_net=192.168.4.0/24 +local_net=192.168.5.0/24 +local_net=192.168.6.0/24 +local_net=192.168.9.0/24 +external_media_address=2.59.235.35 +external_signaling_address=2.59.235.35 + + +;===============ENDPOINT TEMPLATES + +[endpoint-basic](!) +type=endpoint +context=from-internal +message_context=send-text +disallow=all +;allow=g722 +allow=ulaw +;allow=alaw +;allow=opus +;allow=all + +[auth-userpass](!) +type=auth +auth_type=userpass + +[aor-single-reg](!) +type=aor +max_contacts=1 + +;===============ATA site A port 1 + +[1001](endpoint-basic) +auth=auth1001 +aors=1001 +acl=internal + +[auth1001](auth-userpass) +password=REDACTED +username=1001 + +[1001](aor-single-reg) + +;===============ATA site A port 2 + +[1002](endpoint-basic) +auth=auth1002 +aors=1002 +acl=internal + +[auth1002](auth-userpass) +password=REDACTED +username=1002 + +[1002](aor-single-reg) + +;===============ATA site B port 1 + +[1011](endpoint-basic) +auth=auth1011 +aors=1011 +acl=internal + +[auth1011](auth-userpass) +password=REDACTED +username=1011 + +[1011](aor-single-reg) + +;===============ATA site B port 2 + +[1012](endpoint-basic) +auth=auth1012 +aors=1012 +acl=internal + +[auth1012](auth-userpass) +password=REDACTED +username=1012 + +[1012](aor-single-reg) + + +;===============soft phone 1 + +[1021](endpoint-basic) +auth=auth1021 +aors=1021 +acl=internal + +[auth1021](auth-userpass) +password=REDACTED +username=1021 + +[1021](aor-single-reg) + +;===============soft phone 2 + +[1022](endpoint-basic) +auth=auth1022 +aors=1022 +acl=internal + +[auth1022](auth-userpass) +password=REDACTED +username=1022 + +[1022](aor-single-reg) + + +;===============remote phone 1 + +[1031](endpoint-basic) +auth=auth1031 +aors=1031 +rtp_symmetric=yes +force_rport=yes +direct_media=no +rewrite_contact=yes +acl=internal ; these are currently disabled for external registration so they arent really remote + +[auth1031](auth-userpass) +password=REDACTED +username=1031 + +[1031](aor-single-reg) + +;===============remote phone 2 + +[1032](endpoint-basic) +auth=auth1032 +aors=1032 +rtp_symmetric=yes +force_rport=yes +direct_media=no +rewrite_contact=yes +acl=internal + +[auth1032](auth-userpass) +password=REDACTED +username=1032 + +[1032](aor-single-reg) + +;===============Cisco 3911 SIP phone 1 + +[1051](endpoint-basic) +auth=auth1051 +aors=1051 +rtp_symmetric=yes +force_rport=yes +direct_media=no +rewrite_contact=yes +;acl=internal + +[auth1051](auth-userpass) +password=REDACTED +username=1051 + +[1051](aor-single-reg) + + + + +; ============= anonymous inbound calls +[anonymous] +type=endpoint +context=from-anonymous +;disallow=all +;allow=speex,g726,g722,ilbc,gsm,alaw,ulaw +allow=all +acl=external + + + +;=============== SDF TRUNK + +[sdf] +type=registration +outbound_auth=sdf +server_uri=sip:sip.sdf.org +client_uri=sip:2063@sip.sdf.org +retry_interval=120 +forbidden_retry_interval=180 +auth_rejection_permanent=no +max_retries=3 +contact_user=2063 +expiration=1200 + +[sdf] +type=auth +auth_type=userpass +username=2063 +password=REDACTED + +[sdf] +type=aor +contact=sip:sip.sdf.org:5060 +qualify_frequency=58 + +[sdf] +type=endpoint +context=from-sdf +disallow=all +allow=ulaw +allow=g729 +allow=alaw +allow=opus +;allow=all +outbound_auth=sdf +aors=sdf +;rtp_symmetric=yes +;force_rport=yes +direct_media=no +;rewrite_contact=yes +acl=sdf + +[sdf] +type=identify +endpoint=sdf +match=sip.sdf.org + +;=============== AVANZA PSTN TRUNK + +[pstn] +type=registration +outbound_auth=pstn +server_uri=sip:sip.avanzafibra.net +client_uri=sip:mta69987-1@sip.avanzafibra.net +retry_interval=120 +forbidden_retry_interval=180 +auth_rejection_permanent=no +max_retries=3 +contact_user=868925554 +expiration=1200 + +[pstn] +type=auth +auth_type=userpass +username=mta69987-1 +password=REDACTED + +[pstn] +type=aor +contact=sip:sip.avanzafibra.net:5060 +qualify_frequency=58 + +[pstn] +type=endpoint +transport=simpletrans +context=from-pstn +disallow=all +allow=ulaw +allow=g729 +allow=alaw +allow=opus +;allow=all +outbound_auth=pstn +aors=pstn +;rtp_symmetric=yes +;force_rport=yes +direct_media=no +;rewrite_contact=yes +acl=pstn + +[pstn] +type=identify +endpoint=pstn +match=sip.avanzafibra.net + + + + diff --git a/asterisk-conf/rtp.conf b/asterisk-conf/rtp.conf new file mode 100644 index 0000000..19f3486 --- /dev/null +++ b/asterisk-conf/rtp.conf @@ -0,0 +1,162 @@ +; +; RTP Configuration +; +[general] +; +; RTP start and RTP end configure start and end addresses +; +; Defaults are rtpstart=5000 and rtpend=31000 +; +rtpstart=10000 +rtpend=10100 +; +; Whether to enable or disable UDP checksums on RTP traffic +; +;rtpchecksums=no +; +; The amount of time a DTMF digit with no 'end' marker should be +; allowed to continue (in 'samples', 1/8000 of a second) +; +;dtmftimeout=3000 +; rtcpinterval = 5000 ; Milliseconds between rtcp reports + ;(min 500, max 60000, default 5000) +; +; Enable strict RTP protection. This will drop RTP packets that do not come +; from the recognized source of the RTP stream. Strict RTP qualifies RTP +; packet stream sources before accepting them upon initial connection and +; when the connection is renegotiated (e.g., transfers and direct media). +; Initial connection and renegotiation starts a learning mode to qualify +; stream source addresses. Once Asterisk has recognized a stream it will +; allow other streams to qualify and replace the current stream for 5 +; seconds after starting learning mode. Once learning mode completes the +; current stream is locked in and cannot change until the next +; renegotiation. +; Valid options are "no" to disable strictrtp, "yes" to enable strictrtp, +; and "seqno", which does the same thing as strictrtp=yes, but only checks +; to make sure the sequence number is correct rather than checking the time +; interval as well. +; This option is enabled by default. +; strictrtp=yes +; +; Number of packets containing consecutive sequence values needed +; to change the RTP source socket address. This option only comes +; into play while using strictrtp=yes. Consider changing this value +; if rtp packets are dropped from one or both ends after a call is +; connected. This option is set to 4 by default. +; probation=8 +; +; Enable sRTP replay protection. Buggy SIP user agents (UAs) reset the +; sequence number (RTP-SEQ) on a re-INVITE, for example, with Session Timers +; or on Call Hold/Resume, but keep the synchronization source (RTP-SSRC). If +; the new RTP-SEQ is higher than the previous one, the call continues if the +; roll-over counter (sRTP-ROC) is zero (the call lasted less than 22 minutes). +; In all other cases, the call faces one-way audio or even no audio at all. +; "replay check failed (index too old)" gets printed continuously. This is a +; software bug. You have to report this to the creator of that UA. Until it is +; fixed, you could disable sRTP replay protection (see RFC 3711 section 3.3.2). +; This option is enabled by default. +; srtpreplayprotection=yes +; +; Whether to enable or disable ICE support. This option is enabled by default. +; icesupport=false +; +; Hostname or address for the STUN server used when determining the external +; IP address and port an RTP session can be reached at. The port number is +; optional. If omitted the default value of 3478 will be used. This option is +; disabled by default. Name resolution will occur at load time, and if DNS is +; used, name resolution will occur repeatedly after the TTL expires. +; +; e.g. stundaddr=mystun.server.com:3478 +; +; stunaddr= +; +; Some multihomed servers have IP interfaces that cannot reach the STUN +; server specified by stunaddr. Blacklist those interface subnets from +; trying to send a STUN packet to find the external IP address. +; Attempting to send the STUN packet needlessly delays processing incoming +; and outgoing SIP INVITEs because we will wait for a response that can +; never come until we give up on the response. +; * Multiple subnets may be listed. +; * Blacklisting applies to IPv4 only. STUN isn't needed for IPv6. +; * Blacklisting applies when binding RTP to specific IP addresses and not +; the wildcard 0.0.0.0 address. e.g., A PJSIP endpoint binding RTP to a +; specific address using the bind_rtp_to_media_address and media_address +; options. Or the PJSIP endpoint specifies an explicit transport that binds +; to a specific IP address. Blacklisting is done via ACL infrastructure +; so it's possible to whitelist as well. +; +; stun_acl = named_acl +; stun_deny = 0.0.0.0/0 +; stun_permit = 1.2.3.4/32 +; +; For historic reasons stun_blacklist is an alias for stun_deny. +; +; Whether to report the PJSIP version in a SOFTWARE attribute for all +; outgoing STUN packets. This option is enabled by default. +; +; stun_software_attribute=yes +; +; Hostname or address for the TURN server to be used as a relay. The port +; number is optional. If omitted the default value of 3478 will be used. +; This option is disabled by default. +; +; e.g. turnaddr=myturn.server.com:34780 +; +; turnaddr= +; +; Username used to authenticate with TURN relay server. +; turnusername= +; +; Password used to authenticate with TURN relay server. +; turnpassword= +; +; An ACL can be used to determine which discovered addresses to include for +; ICE, srflx and relay discovery. This is useful to optimize the ICE process +; where a system has multiple host address ranges and/or physical interfaces +; and certain of them are not expected to be used for RTP. For example, VPNs +; and local interconnections may not be suitable or necessary for ICE. Multiple +; subnets may be listed. If left unconfigured, all discovered host addresses +; are used. +; +; ice_acl = named_acl +; ice_deny = 0.0.0.0/0 +; ice_permit = 1.2.3.4/32 +; +; For historic reasons ice_blacklist is an alias for ice_deny. +; +; The MTU to use for DTLS packet fragmentation. This option is set to 1200 +; by default. The minimum MTU is 256. +; dtls_mtu = 1200 +; +[ice_host_candidates] +; +; When Asterisk is behind a static one-to-one NAT and ICE is in use, ICE will +; expose the server's internal IP address as one of the host candidates. +; Although using STUN (see the 'stunaddr' configuration option) will provide a +; publicly accessible IP, the internal IP will still be sent to the remote +; peer. To help hide the topology of your internal network, you can override +; the host candidates that Asterisk will send to the remote peer. +; +; IMPORTANT: Only use this functionality when your Asterisk server is behind a +; one-to-one NAT and you know what you're doing. If you do define anything +; here, you almost certainly will NOT want to specify 'stunaddr' or 'turnaddr' +; above. +; +; The format for these overrides is: +; +; <local address> => <advertised address>,[include_local_address] +; +; The following will replace 192.168.1.10 with 1.2.3.4 during ICE +; negotiation: +; +;192.168.1.10 => 1.2.3.4 +; +; The following will include BOTH 192.168.1.10 and 1.2.3.4 during ICE +; negotiation instead of replacing 192.168.1.10. This can make it easier +; to serve both local and remote clients. +; +;192.168.1.10 => 1.2.3.4,include_local_address +; +; You can define an override for more than 1 interface if you have a multihomed +; server. Any local interface that is not matched will be passed through +; unaltered. Both IPv4 and IPv6 addresses are supported. diff --git a/asterisk-conf/sccp.conf b/asterisk-conf/sccp.conf new file mode 100644 index 0000000..4c94ef0 --- /dev/null +++ b/asterisk-conf/sccp.conf @@ -0,0 +1,182 @@ +;========================================================================================= +; +; general definitions +; +;========================================================================================= +[general] +debug = core, config, action, socket, device, line, channel +servername = Asterisk +keepalive = 60 +context = default +dateformat = D.M.Y +bindaddr = 0.0.0.0 +port = 2000 +disallow=all +allow=alaw +allow=ulaw +allow=g729 +firstdigittimeout = 16 +digittimeout = 8 +autoanswer_ring_time = 1 +autoanswer_tone = Zip +remotehangup_tone = Zip +transfer=on +transfer_tone = 0 +transfer_on_hangup = off +dnd_tone = 0x0 +callwaiting_tone = Call Waiting Tone +musicclass=default +language=en +deny=0.0.0.0/0.0.0.0 +permit=internal ; 'internal' is automatically converted to these private cidr address: + ; 127.0.0.0/255.0.0.0, 10.0.0.0/255.0.0.0, + ; 172.0.0.0/255.224.0.0, 192.168.0.0/255.255.0.0 +;permit=192.168.1.0/255.255.255.0 +localnet = internal ; (MULTI-ENTRY) All RFC 1918 addresses are local networks, example '192.168.1.0/255.255.255.0' +;externip = 77.44.22.33 ; External IP Address of the firewall, required in case the PBX is running on a seperate host behind it. IP Address that we're going to notify in RTP media stream as the pbx source address. +dndFeature = on +sccp_tos = 0x68 +sccp_cos = 4 +audio_tos = 0xB8 +audio_cos = 6 +video_tos = 0x88 +video_cos = 5 +echocancel = on +silencesuppression = off +private = on +callanswerorder=oldestfirst +pickup_modeanswer = on +hotline_enabled=yes ;can devices without configuration register +hotline_context=default ; context for hotline +hotline_extension=111 ; extension will be dialed on offHook + +;========================================================================================= +; +; actual definitions +; +;========================================================================================= +[SEP001BD4C70670] +description = Cisco estudio +addon = 7941 +devicetype = 7941 +park = off +button = speeddial, IVR, 2000, 1101@hints ; Add SpeedDial to Helpdesk +button = line, 1101, default ; Assign Line 1101 to Device and use this as default line +button = empty ; Assign an Empty Button +button = line, 1102 ; Assign Line 1102 to Device +button = speeddial, ATA A p1, 1001, 1001@hints ; Add SpeedDial to Phone Number Two Line 1 (button labels allow special characters like 'é') +cfwdall = off +type = device +keepalive = 60 +;tzoffset = +2 +transfer = on +park = on +cfwdall = off +cfwdbusy = off +cfwdnoanswer = off +deny=0.0.0.0/0.0.0.0 +permit=192.168.0.0/255.255.0.0 +dndFeature = on +dnd = off +directrtp=off +earlyrtp = progress +private = on +mwilamp = on +mwioncall = off +setvar=testvar=value +cfwdall = on + +[1101] +id = 1101 +type = line +;pin = 1234 +label = Cisco estudio +description = 1101 estudio +mailbox = 1101 +cid_name = 1101 +cid_num = 1101 +accountcode=1101 +;callgroup=1,3-4 +;pickupgroup=1,3-5 +directed_pickup = on +directed_pickup_context = "" +pickup_modeanswer = on +;amaflags = +context = from-internal +incominglimit = 2 +transfer = on +vmnum = 2003 +meetme = on +meetmeopts = qxd +meetmenum = 700 +trnsfvm = 1000 +secondary_dialtone_digits = 9 +secondary_dialtone_tone = Outside Dial Tone +musicclass=default +language=en +echocancel = on +silencesuppression = off +setvar=testvar2=my value +dnd = reject +parkinglot = myparkspace + +[1102] +id = 1102 +type = line +;pin = 1102 +label = Cisco estudio 2 +description = 1102 estudio +mailbox = 1102 +cid_name = 1102 +cid_num = 1102 +accountcode=1102 +;callgroup=1,4-9 +;pickupgroup=1,3-9 +directed_pickup = on +directed_pickup_context = "another" +pickup_modeanswer = on +echocancel = off +context = from-internal +incominglimit = 2 +transfer = on +vmnum = 600 +trnsfvm = 1000 +secondary_dialtone_digits = 9 +secondary_dialtone_tone = Outside Dial Tone +musicclass=default +language=en +echocancel = on +silencesuppression = off +silencesuppression = on +dnd = silent + + + + + +;----------------------------------------------------------------------------------- +;create a user defined softkeyset +; - if not softkey is not specified in device the chan-sccp-b default mapping will be used +; - multiple softkeysets are possible +; +;valid softkeys: +;redial, newcall, cfwdall, cfwdbusy, cfwdnoanswer, pickup, gpickup, conflist, dnd, hold, endcall, park, select +;idivert, resume, newcall, transfer, dirtrfr, answer, transvm, private, meetme, barge, cbarge, conf, back, join, empty, dial, vidmode + +; using this softkey set on the 69xx phones solves transfer issues using the +; hard key on the phone. +[69xxsoftkeys] +type=softkeyset +onhook=redial,newcall,cfwdall,dnd,pickup,gpickup,private +offhook=redial,endcall,cfwdall,dnd,pickup,gpickup,private +offhookfeat=redial,endcall +digitsfoll=back,endcall,dial +ringout=empty,endcall,transfer +connected=hold,endcall,transfer,idivert,conf,conflist,park,monitor,vidmode +conntrans=empty,endcall,transfer,monitor +connconf=hold,endcall,conf,conflist,join,vidmode,monitor +onhold=resume,newcall,endcall,idivert +ringin=answer,idivert +onhint=barge,newcall,redial,pickup,gpickup +onstealable=redial,newcall,cfwdall,pickup,gpickup,dnd,intrcpt +holdconf=resume,newcall,endcall,join diff --git a/asterisk-conf/voicemail.conf b/asterisk-conf/voicemail.conf new file mode 100644 index 0000000..77b2202 --- /dev/null +++ b/asterisk-conf/voicemail.conf @@ -0,0 +1,52 @@ +[general] +format=wav49|gsm|wav +serveremail=asterisk@arf20.com +attach=yes +;maxmsg=100 +;maxsecs=180 +;minsecs=3 +;maxgreet=60 +skipms=3000 +maxsilence=10 +silencethreshold=128 +maxlogins=3 +;moveheard=yes +;forward_urgent_auto=no +;userscontext=default +aliasescontext=aliases +charset=UTF-8 +pbxskip=no +fromstring=ARFNET PBX +usedirectory=yes +;odbcstorage=asterisk +;odbctable=voicemessages +emaildateformat=%A, %d %B %Y at %H:%M:%S +pagerdateformat=%A, %B %d, %Y at %r +;mailcmd=/usr/sbin/sendmail -t +sendvoicemail=yes ; Allow the user to compose and send a voicemail while inside + +[zonemessages] +eastern=America/New_York|'vm-received' Q 'digits/at' IMp +central=America/Chicago|'vm-received' Q 'digits/at' IMp +central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours' +military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p' +european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM + +[default] +1000 => 1000,arf20,arf20@arf20.com + +[aliases] +1000 => 1000@default +1001 => 1000@default +1002 => 1000@default +1011 => 1000@default +1012 => 1000@default +1021 => 1000@default +1022 => 1000@default +1031 => 1000@default +1032 => 1000@default +1051 => 1000@default +1052 => 1000@default +1101 => 1000@default + + diff --git a/tftp-sepfiles/SEP001AA11B4EC1.cnf.xml b/tftp-sepfiles/SEP001AA11B4EC1.cnf.xml new file mode 100644 index 0000000..e7dd55b --- /dev/null +++ b/tftp-sepfiles/SEP001AA11B4EC1.cnf.xml @@ -0,0 +1,311 @@ +<?xml version="1.0" encoding="UTF-8"?> +<device xsi:type="axl:XIPPhone" ctiid="8" uuid="{18ed15c3-5782-5fd1-0ab8-6a1ddf47179e}"> +<fullConfig>true</fullConfig> +<portalDefaultServer>192.168.9.2</portalDefaultServer> +<deviceProtocol>SIP</deviceProtocol> +<sshUserId></sshUserId> +<sshPassword></sshPassword> +<ipAddressMode>0</ipAddressMode> +<allowAutoConfig>true</allowAutoConfig> +<dadEnable>true</dadEnable> +<redirectEnable>false</redirectEnable> +<echoMultiEnable>false</echoMultiEnable> +<ipPreferenceModeControl>0</ipPreferenceModeControl> +<ipMediaAddressFamilyPreference>0</ipMediaAddressFamilyPreference> +<tzdata> +<tzolsonversion>2020a-2025</tzolsonversion> +<tzupdater>tzdatacsv.csv</tzupdater> +</tzdata> +<mlppDomainId>000000</mlppDomainId> +<mlppIndicationStatus>Off</mlppIndicationStatus> +<preemption>Disabled</preemption> +<executiveOverridePreemptable>false</executiveOverridePreemptable> +<devicePool uuid="{1b1b9eb6-7803-11d3-bdf0-00108302ead1}"> +<revertPriority>0</revertPriority> +<name>SITEA</name> +<dateTimeSetting uuid="{9ec4850a-7748-11d3-bdf0-00108302ead1}"> +<name>CMLocal</name> +<dateTemplate>D/M/Y</dateTemplate> +<timeZone></timeZone> +<olsonTimeZone>Europe/Madrid</olsonTimeZone> +<ntps> +<ntp> +<name>192.168.9.1</name> +<nameV6></nameV6> +<ntpMode>Unicast</ntpMode> +</ntp> +</ntps> +</dateTimeSetting> +<callManagerGroup> +<name>Default</name> +<tftpDefault>true</tftpDefault> +<members> +<member priority="0"> +<callManager> +<name>192.168.9.2</name> +<description>cucm</description> +<ports> +<ethernetPhonePort>2000</ethernetPhonePort> +<sipPort>5060</sipPort> +<securedSipPort>5061</securedSipPort> +<sipOAuthPort>5090</sipOAuthPort> +<sipMRAOAuthPort>5091</sipMRAOAuthPort> +<mgcpPorts> +<listen>2427</listen> +<keepAlive>2428</keepAlive> +</mgcpPorts> +</ports> +<processNodeName>192.168.9.2</processNodeName> +</callManager> +</member> +</members> +</callManagerGroup> +<srstInfo uuid="{cd241e11-4a58-4d3d-9661-f06c912a18a3}"> +<name>Disable</name> +<srstOption>Disable</srstOption> +<userModifiable>false</userModifiable> +<ipAddr1></ipAddr1> +<port1>2000</port1> +<ipAddr2></ipAddr2> +<port2>2000</port2> +<ipAddr3></ipAddr3> +<port3>2000</port3> +<sipIpAddr1></sipIpAddr1> +<sipPort1>5060</sipPort1> +<sipIpV6Addr1></sipIpV6Addr1> +<sipIpAddr2></sipIpAddr2> +<sipPort2>5060</sipPort2> +<sipIpAddr3></sipIpAddr3> +<sipPort3>5060</sipPort3> +<isSecure>false</isSecure> +</srstInfo> +<connectionMonitorDuration>120</connectionMonitorDuration> +</devicePool> +<sipProfile> +<sipProxies> +<backupProxy>USECALLMANAGER</backupProxy> +<backupProxyPort>5060</backupProxyPort> +<emergencyProxy>USECALLMANAGER</emergencyProxy> +<emergencyProxyPort>5060</emergencyProxyPort> +<outboundProxy>USECALLMANAGER</outboundProxy> +<outboundProxyPort>5060</outboundProxyPort> +<registerWithProxy>true</registerWithProxy> +</sipProxies> +<sipCallFeatures> +<cnfJoinEnabled>true</cnfJoinEnabled> +<callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI> +<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI> +<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI> +<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI> +<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI> +<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI> +<rfc2543Hold>false</rfc2543Hold> +<callHoldRingback>2</callHoldRingback> +<URIDialingDisplayPreference>1</URIDialingDisplayPreference> +<localCfwdEnable>true</localCfwdEnable> +<semiAttendedTransfer>true</semiAttendedTransfer> +<anonymousCallBlock>2</anonymousCallBlock> +<callerIdBlocking>2</callerIdBlocking> +<dndControl>0</dndControl> +<remoteCcEnable>true</remoteCcEnable> +<retainForwardInformation>false</retainForwardInformation> +</sipCallFeatures> +<sipStack> +<sipInviteRetx>6</sipInviteRetx> +<sipRetx>10</sipRetx> +<timerInviteExpires>180</timerInviteExpires> +<timerRegisterExpires>3600</timerRegisterExpires> +<timerRegisterDelta>5</timerRegisterDelta> +<timerKeepAliveExpires>120</timerKeepAliveExpires> +<timerSubscribeExpires>120</timerSubscribeExpires> +<timerSubscribeDelta>5</timerSubscribeDelta> +<timerT1>500</timerT1> +<timerT2>4000</timerT2> +<maxRedirects>70</maxRedirects> +<remotePartyID>true</remotePartyID> +<userInfo>None</userInfo> +</sipStack> +<autoAnswerTimer>1</autoAnswerTimer> +<autoAnswerAltBehavior>false</autoAnswerAltBehavior> +<autoAnswerOverride>true</autoAnswerOverride> +<transferOnhookEnabled>false</transferOnhookEnabled> +<enableVad>false</enableVad> +<preferredCodec>none</preferredCodec> +<dtmfAvtPayload>101</dtmfAvtPayload> +<dtmfDbLevel>3</dtmfDbLevel> +<dtmfOutofBand>avt</dtmfOutofBand> +<kpml>3</kpml> +<phoneLabel></phoneLabel> +<stutterMsgWaiting>2</stutterMsgWaiting> +<callStats>true</callStats> +<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer> +<T302Timer>3000</T302Timer> +<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> +<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig> +<poundEndOfDial>false</poundEndOfDial> +<startMediaPort>16384</startMediaPort> +<stopMediaPort>32766</stopMediaPort> +<startVideoPort>0</startVideoPort> +<stopVideoPort>0</stopVideoPort> +<organizationTopLevelDomain></organizationTopLevelDomain> +<sipLines> +<line button="1" lineIndex="1"> +<featureID>9</featureID> +<featureLabel></featureLabel> +<proxy>USECALLMANAGER</proxy> +<port>5060</port> +<name>1051</name> +<displayName>cisco 3911 estudio</displayName> +<autoAnswer> +<autoAnswerEnabled>2</autoAnswerEnabled> +</autoAnswer> +<recordingOption>disable</recordingOption> +<callWaiting>3</callWaiting> +<authName>1051</authName> +<authPassword>REDACTED</authPassword> +<sharedLine>false</sharedLine> +<messageWaitingLampPolicy>3</messageWaitingLampPolicy> +<messageWaitingAMWI>0</messageWaitingAMWI> +<messagesNumber></messagesNumber> +<ringSettingIdle>4</ringSettingIdle> +<ringSettingActive>5</ringSettingActive> +<contact>43c89e6e-f728-02fe-80a0-525af6457cb4</contact> +<forwardCallInfoDisplay> +<callerName>false</callerName> +<callerNumber>false</callerNumber> +<redirectedNumber>false</redirectedNumber> +<dialedNumber>false</dialedNumber> +</forwardCallInfoDisplay> +<maxNumCalls>2</maxNumCalls> +<busyTrigger>1</busyTrigger> +</line> +</sipLines> +<externalNumberMask></externalNumberMask> +<voipControlPort>5060</voipControlPort> +<dscpForAudio tcl="conversational.audio.aq:admitted">184</dscpForAudio> +<dscpVideo tcl="conversational.video.avconf.aq:admitted">136</dscpVideo> +<dscpAudioForVideo tcl="conversational.audio.avconf.aq:admitted">136</dscpAudioForVideo> +<dscpForTelepresence tcl="conversational.video.immersive.aq:admitted">128</dscpForTelepresence> +<dscpAudioForTelepresence tcl="conversational.audio.immersive.aq:admitted">128</dscpAudioForTelepresence> +<dscpForPriorityAudio>180</dscpForPriorityAudio> +<dscpForImmediateAudio>176</dscpForImmediateAudio> +<dscpForFlashAudio>164</dscpForFlashAudio> +<dscpForFlashOverrideAudio>168</dscpForFlashOverrideAudio> +<dscpForExecutiveOverrideAudio>168</dscpForExecutiveOverrideAudio> +<dscpForPriorityVideo>156</dscpForPriorityVideo> +<dscpForImmediateVideo>148</dscpForImmediateVideo> +<dscpForFlashVideo>140</dscpForFlashVideo> +<dscpForFlashOverrideVideo>132</dscpForFlashOverrideVideo> +<dscpForExecutiveOverrideVideo>132</dscpForExecutiveOverrideVideo> +<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy> +<dialTemplate></dialTemplate> +<softKeyFile>SKb0ec918f-b9ee-994b-57ae-345883c1fde8.xml</softKeyFile> +<alwaysUsePrimeLine>false</alwaysUsePrimeLine> +<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail> +</sipProfile> +<commonProfile> +<phonePassword></phonePassword> +<backgroundImageAccess>true</backgroundImageAccess> +<callLogBlfEnabled>3</callLogBlfEnabled> +</commonProfile> +<loadInformation>SIP3951.8-1-4a</loadInformation> +<vendorConfig> +<garp>0</garp><webAccess>0</webAccess><telnetAccess>1</telnetAccess></vendorConfig> +<versionStamp>1735953486-cebe5d8a-030a-4ad4-84db-5af644f25211</versionStamp> +<userLocale> +<name>English_United_States</name> +<uid>1</uid> +<langCode>en_US</langCode> +<version>12.0.0.0(1)</version> +<winCharSet>iso-8859-1</winCharSet> +</userLocale> +<networkLocale>United_States</networkLocale> +<networkLocaleInfo> +<name>United_States</name> +<uid>64</uid> +<version>12.0.0.0(1)</version> +</networkLocaleInfo> +<sipOAuthMode>0</sipOAuthMode> +<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig> +<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices> +<dscpForCm2Dvce>96</dscpForCm2Dvce> +<transportLayerProtocol>2</transportLayerProtocol> +<dialToneSetting>1</dialToneSetting> +<dndCallAlert>5</dndCallAlert> +<phonePersonalization>0</phonePersonalization> +<rollover>0</rollover> +<singleButtonBarge>0</singleButtonBarge> +<joinAcrossLines>0</joinAcrossLines> +<autoCallPickupEnable>false</autoCallPickupEnable> +<blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation> +<blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation> +<capfAuthMode>0</capfAuthMode> +<capfList> +<capf> +<phonePort>3804</phonePort> +<processNodeName>192.168.9.2</processNodeName> +</capf> +</capfList> +<certHash></certHash> +<encrConfig>false</encrConfig> +<advertiseG722Codec>1</advertiseG722Codec> +<mobility> +<handoffdn></handoffdn> +<dtmfdn></dtmfdn> +<ivrdn></ivrdn> +<dtmfHoldCode>*81</dtmfHoldCode> +<dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode> +<dtmfResumeCode>*83</dtmfResumeCode> +<dtmfTxfCode>*84</dtmfTxfCode> +<dtmfCnfCode>*85</dtmfCnfCode> +</mobility> +<TLSResumptionTimer>3600</TLSResumptionTimer> +<userId serviceProfileFile="SPDefault.cnf.xml">siteaphone1</userId> +<ownerId serviceProfileFile="SPDefault.cnf.xml">siteaphone1</ownerId> +<phoneServices useHTTPS="true"> +<provisioning>0</provisioning> +<phoneService type="1" category="0"> +<name>Missed Calls</name> +<url>Application:Cisco/MissedCalls</url> +<vendor></vendor> +<version></version> +</phoneService> +<phoneService type="2" category="0"> +<name>Voicemail</name> +<url>Application:Cisco/Voicemail</url> +<vendor></vendor> +<version></version> +</phoneService> +<phoneService type="1" category="0"> +<name>Received Calls</name> +<url>Application:Cisco/ReceivedCalls</url> +<vendor></vendor> +<version></version> +</phoneService> +<phoneService type="1" category="0"> +<name>Placed Calls</name> +<url>Application:Cisco/PlacedCalls</url> +<vendor></vendor> +<version></version> +</phoneService> +<phoneService type="1" category="0"> +<name>Personal Directory</name> +<url>Application:Cisco/PersonalDirectory</url> +<vendor></vendor> +<version></version> +</phoneService> +<phoneService type="1" category="0"> +<name>Corporate Directory</name> +<url>http://192.168.9.2/cisco/phonebook.xml</url> +<vendor></vendor> +<version></version> +</phoneService> +</phoneServices> +<ssospServers> +<ssospServer name="192.168.9.2"> +<url>https://192.168.9.2:8443/ssosp</url> +</ssospServer> +</ssospServers> +<mraTrustHash></mraTrustHash> +<allowMraMode>false</allowMraMode> +</device> diff --git a/tftp-sepfiles/SEP001BD4C70670.cnf.xml b/tftp-sepfiles/SEP001BD4C70670.cnf.xml new file mode 100644 index 0000000..0999d89 --- /dev/null +++ b/tftp-sepfiles/SEP001BD4C70670.cnf.xml @@ -0,0 +1,105 @@ +<device> + + <sshUserId>cisco</sshUserId> + <sshPassword>cisco</sshPassword> + + <devicePool> + <dateTimeSetting> + <name>Spain</name> + <dateTemplate>D/M/Y</dateTemplate> + <timeZone>W. Europe Standard/Daylight Time</timeZone> + <ntps> + <ntp> + <name>192.168.9.1</name> + <ntpMode>Unicast</ntpMode> + </ntp> + </ntps> + </dateTimeSetting> + <callManagerGroup> + <members> + <member priority="0"> + <callManager> + <ports> + <ethernetPhonePort>2000</ethernetPhonePort> + </ports> + <processNodeName>192.168.9.2</processNodeName> + </callManager> + </member> + </members> + </callManagerGroup> + + <!-- <srstInfo> + <name>Enable</name> + <srstOption>Enable</srstOption> + <userModifiable>true</userModifiable> + <ipAddr1>x.x.x.x</ipAddr1> + <port1>2000</port1> + <ipAddr2/> + <port2>2000</port2> + <ipAddr3/> + <port3>2000</port3> + </srstInfo> --> + </devicePool> + + <vendorConfig> + <disableSpeaker>false</disableSpeaker> + <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset> + <forwardingDelay>1</forwardingDelay> + <pcPort>0</pcPort> + <settingsAccess>1</settingsAccess> + <garp>0</garp> + <voiceVlanAccess>0</voiceVlanAccess> + <videoCapability>0</videoCapability> + <autoSelectLineEnable>0</autoSelectLineEnable> + <autoCallSelect>0</autoCallSelect> + <webAccess>0</webAccess> + <daysDisplayNotActive>1,7</daysDisplayNotActive> + <displayOnTime>08:30</displayOnTime> + <displayOnDuration>11:30</displayOnDuration> + <displayIdleTimeout>01:00</displayIdleTimeout> + <minimumRingVolume>0</minimumRingVolume> + + </vendorConfig> + + <userLocale> + <name>English</name> + <uid>1</uid> + <langCode>en</langCode> + <version>10.5.3.0</version> + <winCharSet>iso-8859-1</winCharSet> + </userLocale> + <networkLocale>Spain</networkLocale> + <networkLocaleInfo> + <name>Spain</name> + <uid>64</uid> + <version>10.5.3.0</version> + </networkLocaleInfo> + + + + <loadInformation>SCCP45.9-4-2SR3-1S</loadInformation> + <idleTimeout>3600</idleTimeout> + <authenticationURL></authenticationURL> + <directoryURL>http://192.168.9.2/cisco/directory.xml</directoryURL> + <idleURL></idleURL> + + <informationURL></informationURL> + <messagesURL></messagesURL> + <proxyServerURL></proxyServerURL> + <servicesURL>http://192.168.9.2/cisco/directory.xml</servicesURL> + <phonePersonalization>1</phonePersonalization> + <deviceSecurityMode>1</deviceSecurityMode> + <dscpForSCCPPhoneConfig>104</dscpForSCCPPhoneConfig> + <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices> + <dscpForCm2Dvce>184</dscpForCm2Dvce> + <transportLayerProtocol>4</transportLayerProtocol> + <capfAuthMode>0</capfAuthMode> + <capfList> + <capf> + <phonePort>3804</phonePort> + </capf> + </capfList> + <certHash/> + <encrConfig>false</encrConfig> +</device> + |