KI-AGENT: Asterisk-Stand ohne FreePBX versionieren
This commit is contained in:
@@ -265,6 +265,7 @@ const renderProviderExtensionsConfig = (trunk: any) => {
|
||||
const outboundPrefix = asteriskValue(trunk.outboundPrefix) || "0"
|
||||
const escapedPrefix = outboundPrefix.replace(/[^0-9*#+]/g, "")
|
||||
const callerId = asteriskValue(trunk.callerId) || asteriskValue(trunk.sipUser)
|
||||
const inboundDid = callerId.replace(/[^0-9+]/g, "")
|
||||
|
||||
return [
|
||||
"; Von FEDEO generiert. Änderungen im Container können überschrieben werden.",
|
||||
@@ -282,6 +283,12 @@ const renderProviderExtensionsConfig = (trunk: any) => {
|
||||
" same => n,Hangup()",
|
||||
"",
|
||||
`[from-${providerKey}]`,
|
||||
...(inboundDid ? [
|
||||
`exten => ${inboundDid},1,NoOp(FEDEO eingehend über ${provider.label} DID: $` + "{EXTEN})",
|
||||
` same => n,Dial(PJSIP/${inboundExtension},30)`,
|
||||
" same => n,Hangup()",
|
||||
"",
|
||||
] : []),
|
||||
`exten => s,1,NoOp(FEDEO eingehend über ${provider.label})`,
|
||||
` same => n,Dial(PJSIP/${inboundExtension},30)`,
|
||||
" same => n,Hangup()",
|
||||
@@ -293,6 +300,25 @@ const renderProviderExtensionsConfig = (trunk: any) => {
|
||||
].join("\n")
|
||||
}
|
||||
|
||||
const renderWebRtcConfig = (trunk: any) => {
|
||||
const externalMediaAddress = asteriskValue(trunk?.externalMediaAddress || trunk?.externalSignalingAddress)
|
||||
|
||||
if (!externalMediaAddress) {
|
||||
return [
|
||||
"; Von FEDEO generiert.",
|
||||
"; Kein externes WebRTC-Media-Rewrite konfiguriert.",
|
||||
"",
|
||||
].join("\n")
|
||||
}
|
||||
|
||||
return [
|
||||
"; Von FEDEO generiert. Diese Datei wird innerhalb des FEDEO-WebRTC-Templates inkludiert.",
|
||||
`media_address=${externalMediaAddress}`,
|
||||
"bind_rtp_to_media_address=yes",
|
||||
"",
|
||||
].join("\n")
|
||||
}
|
||||
|
||||
const renderTelekomTransportConfig = (trunk: any) => {
|
||||
const externalSignalingAddress = asteriskValue(trunk?.externalSignalingAddress)
|
||||
const externalMediaAddress = asteriskValue(trunk?.externalMediaAddress || trunk?.externalSignalingAddress)
|
||||
@@ -339,6 +365,10 @@ const writeAsteriskTrunkConfig = async (trunk: any) => {
|
||||
name: "pjsip.transport.conf",
|
||||
content: renderTelekomTransportConfig(trunk),
|
||||
},
|
||||
{
|
||||
name: "pjsip.webrtc.conf",
|
||||
content: renderWebRtcConfig(trunk),
|
||||
},
|
||||
]
|
||||
|
||||
await Promise.all(files.map(async (file) => {
|
||||
|
||||
Reference in New Issue
Block a user