Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG] Trying to pass the call to another number which worked in the past and now it does not...

Aperta
#877 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
api

Direzione di ricerca

The report points to session.py:336 and the calls(...).update_async entry point, with Python 3.11 and twilio-python 9.4.6 or later. Start by reproducing the 404 while updating the call and compare the client request with the reported resource path. Done means the cause is isolated and the transfer update is covered by a regression test or a documented compatibility fix.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

type: bug
Describe the bug

Escalating to another number is not working anymore.
Got the error:

amp_assist_api  | 2025-07-22 11:35:24.144 - [ERROR]- backend_apibackend_api.agents.ultravox.session - session.py:336 - Error transferring call: HTTP 404 error: Unable to update record: The requested resource /2010-04-01/Accounts/AC02e7597cf9c9469d7f52c87dbf15753e/Calls/CAb9335eb22d8b19958ef20674ab8c9643.json was not found
Code snippet
from twilio.twiml.voice_response import Connect, VoiceResponse
self.twilio_client = Client(
            username=settings.TWILIO_ACCOUNT_SID,
            password=settings.TWILIO_AUTH_TOKEN,
            http_client=AsyncTwilioHttpClient()
        )
async def _transfer_to_live_agent(self):
        """Transfer an active call to the destination number."""
        try:
            logger.debug("Starting the transfer to a live agent")
            # Create TwiML for transfer
            response = VoiceResponse()
            response.say("Please hold while we transfer you to a live agent.")
            dial = Dial()
            dial.number("+3519344455521")
            response.append(dial)

            await self.send_text(
                text=(
                    "Live agent was just called. Please inform the user about it."
                ),
                defer_response=False
            )
            # Empirical value, used to give time to the Ultravox model to
            # inform the agent about the next move.
            await asyncio.sleep(10)
            logger.debug("About to update the twilio call")
            # Update the call with new TwiML
            try:
                await self.twilio_client.calls(self._twilio_call_sid).update_async(
                    twiml=str(response)
                )
                logger.debug("Current Call object updated")
            finally:
                # Ensure we close the HTTP client session
                await self.twilio_client.http_client.close()
            # Properly close the Ultravox WebSocket connection
            await self.leave_call()
        except Exception as e:
            logger.error(f"Error transferring call: {e}")
            # Ensure we still try to close the connection even if there's an error
            try:
                await self.leave_call()
            except Exception as close_error:
                logger.error("Error during disconnect "
                             f"after transfer failure: {close_error}")
            finally:
                # Ensure we close the HTTP client session even if there's an error
                try:
                    await self.twilio_client.http_client.close()
                except Exception as close_error:
                    logger.error(f"Error closing HTTP client session: {close_error}")

Note that this is part of the code and includes the relevant portion

Actual behavior

Got the error:

amp_assist_api  | 2025-07-22 11:35:24.144 - [ERROR]- backend_apibackend_api.agents.ultravox.session - session.py:336 - Error transferring call: HTTP 404 error: Unable to update record: The requested resource /2010-04-01/Accounts/AC02e7597cf9c9469d7f52c87dbf15753e/Calls/CAb9335eb22d8b19958ef20674ab8c9643.json was not found
Expected behavior

Call would get transferred as it did in the past

twilio-python version

at least at and above 9.4.6 wont work

Python version

3.11

Logs or error messages

Got the error:

amp_assist_api  | 2025-07-22 11:35:24.144 - [ERROR]- backend_apibackend_api.agents.ultravox.session - session.py:336 - Error transferring call: HTTP 404 error: Unable to update record: The requested resource /2010-04-01/Accounts/AC02e7597cf9c9469d7f52c87dbf15753e/Calls/CAb9335eb22d8b19958ef20674ab8c9643.json was not found
Additional context

No response

Lingua principale
Python
Stelle
2.1k
Fork
814
Merge medio
1g 14h
PR unite (30g)
4

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di twilio/twilio-python

Tutte le issue di twilio/twilio-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.