I’ve just gone from Asterisk 13 to Asterisk 18, dropping SIP and picking up PJSIP along the way.
The process was mostly straightforward (if a bit painful) and at this point the only thing I know isn’t working is this: When I use the Dial command (the way I am set up) in my dial plan I get no audio.
I am going through another asterisk box that has a PRI card (that box has not been upgraded yet, so it still uses Asterisk 13 and SIP - and the exact same config for the past year or so) so basically it goes like this:
IP Phone dials a number, resulting in the Asterisk box calling Dial(PJSIP/5556667777@pbx2) - > PBX2 just calls Dial(DAHDI/5556667777)
The IP phone is not getting any ringing until I answer my test call at the other end. Dead silence until then. But perfectly good call once answered.
I’m pretty sure this is an endpoint thing, but I tried many settings (and module reload res_pjsip) and nothing’s changed.
When that first PBX was Asterisk 13 and SIP things were fine. but I realize 13 SIP to 18 PJSIP is a big step.
Anyone has an idea for me?
Here is the very basic PJSIP config for the PBX I am dialing through
[pbx2]
type=endpoint
trust_id_inbound=yes
trust_id_outbound=yes
send_pai=yes
transport=transport-udp
context=inbound
allow=all
aors=pbx2
from_domain=192.168.10.5
direct_media=no
No - I looked and I see no indication of any related settings being needed before.
I looked quickly at the docs, but my first attempts at fixing this failed.
The “old” system (the one making the DAHDI call) hasn’t changed forever. Was it providing early media before? Or did I somehow make this work in a non-standard fashion?
I am not sure how to set up these two things. I tried playing with inbandprogress=yes (and equivalent on PJSIP) and that didn’t work.
I now have added Progress - I tried on the “new server” just before the dial command, then I tried on the other one. No go.
I definitely do not quite know how to use these functions. Maybe it is the early media part that got my stumped…
You’ll need to provide pjsip set logger on logs to understand what is happening. You may also need to use tcpdump/wireshark to listen to any early media that is present, and we may need the verbose level 5 logs from the old system to see what is happening there.
Not really, but Whatever PBX has set up for early media, although you have cut off the INVITE, so one cannot see if the media is set correctly towards the caller, and you have cut off the SDP, so one cannot see if media has been set up correctly towards the callee.
There is no Ringing in in the extract, so progress will only be signalled using early media, if at all.
I think I fixed it - can you sanity-check my logic here?
I was passing dynamic parameters to the Dial command for both the extension to call, the timeout and the options. But in this case the option string was empty. Could this have deactivated the R option (which is default)?
Maybe it didn’t work like that back with Asterisk 13.
I think I need to do some deep reading of the code, but I don’t think default makes sense as a default when no options parameter is provided. I think for “r”, it means what happens when no parameter is specified. For “R” it may be that there is an undocumented parameter, the same as “r”, or there is a cut and paste error in the header comments.