ab8dda9dfb
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.
94 lines
2.2 KiB
Text
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
|
|
]
|