I have a puzzling situation, and would be grateful for any insight.
I have a dialplan that forwards an incoming call out to another number via the same SIP trunk as it came in on. e.g.
exten => 0123456789,1,NoOp exten => 0123456789,n,Dial(SIP/siptrunk/0987654321)
Now, if I use a different SIP trunk for the outbound call, than the inbound call came on, the call is set up fine – the Answer signal from the called party gets propagated back to the caller, and they can hear each other.
But if the outbound SIP trunk is the same as the one the call came in on, the caller doesn’t hear any progress, and has no notification of when the call was answered. Neither can the parties hear each other.
I have tried this on two different machines using two different SIP
However, if I change the above NoOp to be Answer(100), i.e. answer the inbound call before placing the outbound Dial, the caller hears progress and when the called party answers, they hear each other fine.
Of course, if the called party is busy, the caller just hears in-band busy tone, as the caller’s inbound call was already answered.
Can anyone explain why I need the Answer? It feels wrong that I should.
The siptrunk entry contains canreinvite=no and directmedia=no.
The version of Asterisk on these boxes is 10.5.1, if that’s relevant.
Thanks for any insight!