Hi Everyone,
I am new to asterisk, on my project I want to implement some detect when there is call active and there is voice from the device. Here are my configuration for docker compose
#docker-compose.yml
services:
asterisk:
build:
context: .
dockerfile: Dockerfile
container_name: asterisk
ports:
- "5060:5060/udp" # SIP
- "8088:8088" # ARI HTTP/WebSocket
- "10000-10100:10000-10100/udp" # RTP media (reduced range)
- "5038:5038" # ✅ AMI (Asterisk Manager Interface)
volumes:
- ./asterisk-conf:/etc/asterisk
- ./agi-scripts:/var/lib/asterisk/agi-bin
ulimits:
nofile:
soft: 65536
hard: 65536
sysctls:
- net.core.somaxconn=65536
- net.ipv4.tcp_max_syn_backlog=65536
- net.ipv4.ip_local_port_range=1024 65535
restart: unless-stopped
networks:
- voipnet
networks:
voipnet:
driver: bridge
And this is my configuration for enable talk detect function
#extensions.conf
exten => 300,1,Answer()
same => n,Set(TALK_DETECT(set)=)
same => n,Dial(SIP/client1,15,b(default^apply_talk_detect^1))
same => n,Hangup()
exten => apply_talk_detect,1,NoOp()
same => n,Set(TALK_DETECT(set)=)
same => n,Return()
I tried to only use TALK_DETECT(SET), but on AMI channel there is no event type of ChannelTalkingStart or ChannelTalkingStop. Am I doing it wrong ?