ansible/dhall/asterisk.dhall
Correl Roush ab8dda9dfb Import tasks rather than including them
Imports bring in tasks statically, allowing tags on the import to
propagate properly. There is no need for the dynamic behavior of
includes, they're just being used for organization.
2024-12-03 18:17:53 -05:00

94 lines
2.2 KiB
Text

let Text/concatMapSep = ./Prelude/Text/concatMapSep
let Mailbox = ./Asterisk/Mailbox
let Endpoint = ./Asterisk/Endpoint
let mailboxes =
{ correl = Mailbox::{
, id = "100"
, context = "sailmaker"
, name = "Correl Roush"
}
}
let endpoints =
{ correl = Endpoint::{
, id = "100"
, context = "from-internal"
, password = "mJzTGkXdh02OVXGOaxcH8V3To"
, mailboxes = [ mailboxes.correl ]
}
, correl_softphone = Endpoint::{
, id = "101"
, context = "from-internal"
, password = "5KVzU5Ez77lIIv4SAyzDOnMWo"
, mailboxes = [ mailboxes.correl ]
}
, correl_conference = Endpoint::{
, id = "102"
, context = "from-internal"
, password = "mpHoQ29k2AiH4EN7IXL9vnE9j"
, mailboxes = [ mailboxes.correl ]
}
}
let mailbox/conf =
\(mailbox : Mailbox.Type) ->
"${mailbox.id} => ${mailbox.id},${mailbox.name},${mailbox.email}"
let mailbox/address =
\(mailbox : Mailbox.Type) -> "${mailbox.id}@${mailbox.context}"
let pjsip/endpoint =
\(endpoint : Endpoint.Type) ->
''
[${endpoint.id}]
type=endpoint
context=${endpoint.context}
callerid='${endpoint.callerid}'
disallow=all
allow=ulaw
auth=${endpoint.id}
aors=${endpoint.id}
mailboxes=${Text/concatMapSep
","
Mailbox.Type
mailbox/address
endpoint.mailboxes}''
let pjsip/auth =
\(endpoint : Endpoint.Type) ->
''
[${endpoint.id}]
type=auth
auth_type=userpass
password=${endpoint.password}
username=${endpoint.id}''
let pjsip/aor =
\(endpoint : Endpoint.Type) ->
''
[${endpoint.id}]
type=aor
max_contacts=1
remove_existing=yes''
let pjsip/all =
\(endpoint : Endpoint.Type) ->
''
${pjsip/endpoint endpoint}
${pjsip/auth endpoint}
${pjsip/aor endpoint}
''
in Text/concatMapSep
"\n"
Endpoint.Type
pjsip/all
[ endpoints.correl
, endpoints.correl_softphone
, endpoints.correl_conference
]