I installed Asterisk 20 on my Ubuntu and got everything working. Outbound calls from Zoiper (iPhone) → Asterisk → Routing Outbound to Fritz!Box work great. The phone rings, but there’s no media transmission even though I have direct_media=no. The Fritz!Box sends to a 172.ip even though my Asterisk is on the internal network, so Asterisk is connected to the Fritz!Box.
What am I doing wrong? I got the IP for voice transmission from the Fritz!Box.
I also tried only allow=alaw because I thought it was the codec, but that didn’t transmit any sound either.
Thanks David, this was the issue now i get voice, but after 30/31 seconds asterisk is stopping because dont send or receive ACK the call always ends after 30 seconds, do you have an idea how i can solve it?
Is this now for inbound or outbound calls? For inbound, it looks like the external signalling address is good, so I’d suspect a router issue, but having the actual messages would help..
That sounds like a typical SIP timeout. Probably a call setup acknowledgment is missing. You should enable logging for PJSIP on the asterisk console and share it here.
this config is for outbound calling. My actually setup:
Zoiper iPhone (for Test) → Asterisk → FritzBox outbound call with CallerID from FritzBox
Fritzbox send back the voice to → asterisk → Zoiper
Bute here the ACK is missing to asterisk, this is the reason why asterisk gives BYE for Zoiper and the Fritz in the LOG’S
from my trace:
Asterisk sends the 200 OK to the INVITE to Zoiper:
Transmitting SIP response … 200 OK … Contact: sip:myDomain.de:5060
(e.g., for Call ID: Ocaia3xyM0eTmuQCTzMFSg.. and also for the other calls)
In my recording, there is not a single
Received SIP request … ACK
from Zoiper to Asterisk.
Exactly ~30–32 seconds after the 200 OK, Asterisk actively disconnects the connection:
Transmitting SIP request … BYE …
This is typical behavior if the ACK for the 200 OK has not arrived (UAS timer expires).
Meanwhile, RTP is running in both directions (i continuously see “Got/Sent RTP…”), i.e. The media path is OK, and rtp_timeout is not the cause.
my 200 OK indicates Asterisk’s public signaling address myDomain.de:5060 as the contact. Zoiper should send the ACK there. Since no ACK arrives on the Asterisk side, it’s either going to the wrong address/port or being filtered en route. The configured outbound proxy hasn’t changed this in my trace—the symptom remains the same: 200 OK → no ACK → BYE after ~30 seconds.
Conclusion (purely based on the log):
The call being dropped after 30/31 seconds is caused by a missing ACK from Zoiper to the 200 OK.
I solved the problem; it was a small mistake on my part. I set up transport UDP for local, but not for external (NAT) and tried to pass everything locally. Logically, that doesn’t work, since Zoiper is via SUBDOMAIN (external), so the ACKs aren’t passed; they never got through. Now I have two transport UDPs defined, one local and one as NAT. The Fritzbox communicates internally (locally) with Asterisk, and Asterisk then communicates with the SIP user via transport UDP NAT
Problem solved, but thank you for your time.
I wish you a nice Sunday - stay healthy - see you soon