On 2019-11-26 20:05, Greg Troxel wrote: > "C.Maj" <[email protected]> writes: > >> Another option for a patch would be to extend the PJSIP_DIAL_CONTACTS >> function with an argument such as 'please' to minimally return the >> endpoint name in a Dialable format when no reachable contacts are found >> eg. "PJSIP/bar" -- instead of the current empty string, which is not >> Dialable. > > I thought of that also while considering if patching the way Dial > behaves was feasible. I think you are right that having > PJSIP_DIAL_CONTACTS reduce to a single PJSIP/aor string will follow the > principle of least astonishment.
Thanks, I put together a patch: https://issues.asterisk.org/jira/browse/ASTERISK-28638 >> Also the empty string is somewhat in conflict with the Synopsis "Return >> a dial string for dialing all contacts on an AOR." (Maybe add " Or >> returns empty string if no reachable contacts. Do not Dial directly." ?) >> >> Regardless of patch status, I'd recommend looking at the PUSH function >> to build up the dial list one line item at a time -- please pardon the >> AEL format on my example: >> >> Set(rgrp=); >> Set(PUSH(rgrp,&)=PJSIP/foo); >> Set(PUSH(rgrp,&)=PJSIP/baz); >> if( "${PJSIP_DIAL_CONTACTS(bar)}" != "" ) { >> Set(PUSH(rgrp,&)=${PJSIP_DIAL_CONTACTS(bar)}); >> } >> Dial(${rgrp}); > > That looks workable. Is there a multiprocessing hazard here? Could > ${PJSIP_DIAL_CONTACTS(bar)} change between check and use. Yes, if you put the Dial() further away, maybe after a Wait(), then it could be a problem. But in this example, it is not going to be that much slower than more 'direct' substitution Dial(${PJSIP_DIAL_CONTACTS(bar)}) because either way the PJSIP_DIAL_CONTACTS function is being evaluated first and separately from the Dial() application itself. The application only sees the results of the function. Kind Regards, -- 🤠 C. Maj, Technology Captain @ Penguin PBX Solutions 📞 USA Toll Free 1-833-PNGNPBX (1-833-764-6729) 🤙 International & SMS Texting +1.720.32.42.72.9 🐧 Visit on the World Wide Web at PENGUINPBX.COM -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
