def assign_number_to_SMA()

in src/handlerLambda/callForwardHandler.py [0:0]


def assign_number_to_SMA(queried_number):
    number = queried_number["PhoneNumber"]["E164PhoneNumber"]
    logger.info("Assigning {} to SMA".format(number))

    get_sma_response = chime_client.get_sip_media_application(SipMediaApplicationId=sma_id)

    # Associate number with SMA
    if queried_number["PhoneNumber"]["ProductType"] == "VoiceConnector":
        if queried_number["PhoneNumber"]["Status"] == "Assigned":
            chime_client.disassociate_phone_numbers_from_voice_connector(
                VoiceConnectorId=queried_number["PhoneNumber"]["Associations"][0]["Value"], E164PhoneNumbers=[number]
            )

        chime_client.update_phone_number(PhoneNumberId=number, ProductType="SipMediaApplicationDialIn")

    create_sip_rule_response = chime_client.create_sip_rule(
        Name=number,
        TriggerType="ToPhoneNumber",
        TriggerValue=number,
        Disabled=False,
        TargetApplications=[
            {
                "SipMediaApplicationId": sma_id,
                "Priority": 1,
                "AwsRegion": get_sma_response["SipMediaApplication"]["AwsRegion"],
            },
        ],
    )
    return create_sip_rule_response