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)