40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
import os
|
|
import shutil
|
|
|
|
from conpeek_setup import util
|
|
|
|
|
|
def run(config):
|
|
util.print_black_light("Preparing kamailio file")
|
|
|
|
output_directory = os.path.join(util.get_output_path(), "kamailio")
|
|
template_kamailio_directory = os.path.join(util.get_templates_path(), "kamailio")
|
|
|
|
shutil.rmtree(output_directory, ignore_errors=True)
|
|
os.makedirs(output_directory, exist_ok=True)
|
|
|
|
tenant_data = util.get_minimal_configuration()
|
|
|
|
files_to_copy = [
|
|
"kamailio.cfg",
|
|
"kamailio-python.cfg"
|
|
]
|
|
|
|
for file in files_to_copy:
|
|
util.copy_file(os.path.join(template_kamailio_directory, file), output_directory)
|
|
|
|
kamailio_replacements = {
|
|
'MASTER_PASSWORD': config["machine_secrets"]["master_password"],
|
|
'KAMAILIO_NAME': tenant_data["kamailio_name"],
|
|
'DB_HOST': config["new_machine_network"]["internal_ip"]
|
|
}
|
|
|
|
for name in kamailio_replacements.keys():
|
|
util.basic_on_location_sed(os.path.join(output_directory, "kamailio-python.cfg"), name, kamailio_replacements[name])
|
|
|
|
public_ip = config["new_machine_network"]["external_ip"]
|
|
if config.has_option('kamailio', 'public_ip'):
|
|
public_ip = config["kamailio"]["public_ip"]
|
|
|
|
util.basic_on_location_sed(os.path.join(output_directory, "kamailio.cfg"), 'KAMAILIO_PUBLIC_IP', public_ip)
|