Skip to content

[BUG] Using actual boolean instead of json string in boolean parameter causes bxml error #248

@stephenreddek

Description

@stephenreddek

Checklist

  • Have you provided a description of the bug?
  • Have you provided your Environment information?
  • Have you provided a sample code snippet?
  • Have you provided a stack trace?
  • Have you outlined the expected behavior?

Description

When receiving an initiate and responding with BXML to start a mult_channel recording, following the types results in a BXML failure on the bandwidth side. The error sends a call status event with cause invalid-bxml. The issue is setting mutli_channel to True instead of "true".

Environment Information

  • OS Version: Mac OS 15.4
  • SDK Version: 18.1.3
  • Environment: 3.11.10

Sample Code Snippet

       response = Response()

        response.add_verb(
            StartRecording(
                multi_channel=True, # this fails. To get this to work, I have to set it to `"true"`
                file_format="mp3",
            )
        )

        response.add_verb(Ring(duration=5))

        status_webhook_url = "ws://our-url"

        start_stream = StartStream(
            destination=f"wss://{ws_base_url}/ws/bandwidth/",
            stream_event_url=status_webhook_url,
            mode="bidirectional",
        )
        start_stream.add_verb(StreamParam(name="hotel_uuid", value=str(hotel.uuid)))
        start_stream.add_verb(StreamParam(name="canary_call_uuid", value=str(call.uuid)))

        response.add_verb(start_stream)
        response.add_verb(
            Pause(duration=86400) # hack to keep the call alive
        )

        logger.info("bandwidth_initiate_call.response", response=response.to_bxml())

        return HttpResponse(content=response.to_bxml(), status=200, content_type="application/xml")

Stack Trace

None

Expected Behavior

I would expect to be able to pass a native boolean instead of a string version to multi_channel

Suggested Fix

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions