after moving my installation to PJSIP I see a strange behavior in my ARI application.
The application is registered and receives channel events properly. At some point the application destroys the channel (delete). Again, after deleting the channel I get a ChannelHangupRequest and a StasisEnd on the websocket but the phone doesn’t hang up. It starts playing some sound “the number you are calling is not reachable”.
I guess it should be mentioned that the phone is calling via some sip trunk. I’m pretty sure that the audio playback doesn’t come from asterisk.
What’s puzzling is that on the old system using the legacy SIP provider this works as expected and the phone is hanging up.
You’d need to show actual console output including SIP traffic (pjsip set logger on). You could even use chan_sip and examine the difference. For example in the chan_sip case was the channel answered, but in the chan_pjsip case you aren’t answering.
Neither of these represent hang-ups as you have not yet answered the call. They are rejections. The message is being generated by the upstream system, and if they are going to do in-band announcements for call failures, I would expect them to do so for all failure reasons, and the only way to stop them would be to answer the call before hanging it up, however, in many cases, that would result in the caller being charged for the call.
It’s also adding a Reason header. You can disable the Reason header by setting the “suppress_q850_reason_headers” option to “yes” on the endpoint. I don’t know if that will make a difference to the provider.
Firstly, this forum is not the right place for help on configuring FreePBX.
+ with a modifier is a new one on me. pjsip.conf is probably the only place where it is useful, but it is certainly going to be necessary. If you just repeat a section name, it becomes a new section, and either it or the original one might even be ignored completely. (+) says append to the existing section of the name. However, pjsip can have multiple sections of the same name, so I assume that the type= part ensures that you add to the right one of those.
Ok, back to the original topic. That was it. I set “suppress_q850_reason_headers” to yes and now it works. I’m not quire sure why that made the difference but it does.