Handling user interruptions with gemini-live-2.5-flash vertex ai model

I am developing voice bot using gemini-live-2.5-flash. I am using google ADK to develop the bot
For VAD i am using default google settings. Changed start sensitivity to high.
In model response i receive interruption event but model keep on sending content event after that .

Expected Output: Model should stop sending content events after user interrupts with new input

my current setting to for runner is

voice_config = VoiceConfig(

prebuilt_voice_config=PrebuiltVoiceConfigDict(
    #voice_name='Sulafat',
    voice_name='Zephyr', 
    

)

)

speech_config = SpeechConfig(voice_config=voice_config)

realtime_input_config = RealtimeInputConfig(activity_handling=ActivityHandling.START_OF_ACTIVITY_INTERRUPTS,
                                            automatic_activity_detection=AutomaticActivityDetection(disabled=False,start_of_speech_sensitivity=StartSensitivity.START_SENSITIVITY_HIGH,end_of_speech_sensitivity=EndSensitivity.END_SENSITIVITY_HIGH)
                                            )

proactive_config = ProactivityConfig(proactive_audio=True)
audio_transcription_config = AudioTranscriptionConfig()
run_config = RunConfig(response_modalities=["AUDIO"],
                       speech_config=speech_config,
                       streaming_mode='bidi',
                       proactivity=proactive_config,
                       enable_affective_dialog=True,
                       realtime_input_config=realtime_input_config,
                       
                    #    input_audio_transcription=audio_transcription_config,
                    #  output_audio_transcription=audio_transcription_config
                       )


live_request_queue = LiveRequestQueue()
live_events = runner.run_live(
    session=session,
    live_request_queue=live_request_queue,
    run_config=run_config,

Am i missing something ??

Hi @hitish_singla Welcome to the community
Could you please share the detailed event logs when the issue occurs ?
Could you also please explain your client-side code that processes the live_events?
Thank you

here is how i handle live events

async for event in session.live_events:

        if event.turn_complete or event.interrupted:
            
            flush_msg = {
                "event": "media",
                "streamSid": session.stream_sid,
                "media": {"payload": ""}
            }
            await websocket.send_text(json.dumps(flush_msg))

            mark_message = {
                "event": "mark",
                "streamSid": session.stream_sid,
                "mark": {
                    "name": "agent_turn_complete"

                    
                }
            }
            await websocket.send_text(json.dumps(mark_message))
            print(f"[{session.stream_sid}][AGENT -> TWILIO]: Sent mark event.")
            continue
        
        
        
        part: Part = (event.content and event.content.parts and event.content.parts[0])

        if not part:
            continue
   
   
        is_audio = part.inline_data and part.inline_data.mime_type.startswith("audio/pcm")
        #  print(f"[{session.stream_sid}][AGENT -> APP]: Part is audio: {is_audio}")

I am getting interruption events . so i am flushing current message.

but after interruption message i keep on getting content events. model does not stop sending events