[dhall] Add asterisk
This commit is contained in:
parent
fca829329c
commit
6926168fb3
1 changed files with 106 additions and 0 deletions
106
dhall/asterisk.dhall
Normal file
106
dhall/asterisk.dhall
Normal file
|
@ -0,0 +1,106 @@
|
|||
let Text/concatMapSep = https://prelude.dhall-lang.org/Text/concatMapSep
|
||||
|
||||
let Mailbox =
|
||||
{ Type = { id : Text, context : Text, name : Text, email : Text }
|
||||
, default = { name = "", email = "" }
|
||||
}
|
||||
|
||||
let Endpoint =
|
||||
{ Type =
|
||||
{ id : Text
|
||||
, context : Text
|
||||
, password : Text
|
||||
, callerid : Text
|
||||
, mailboxes : List Mailbox.Type
|
||||
}
|
||||
, default = { callerid = "", mailboxes = [] : List Mailbox.Type }
|
||||
}
|
||||
|
||||
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
|
||||
]
|
Loading…
Reference in a new issue