I understand Asterisk does not support RFC 4579 but i have to implement this at work.
I spent some time looking at all of the Asterisk APIs (dialplan, AMI, AGI, ARI) but nowhere could i find the ability to send an in-dialog SIP REFER message. I know PJSIP can do this so i’ve come to the conclusion that my only remaining option is writing a custom C module leveraging PJSIP which i can then use in the dialplan.
I just wanted to reach out to the community to see if there’s anything i’ve missed before I get down and dirty with the guts of Asterisk.
Depends on what you want exactly in a SIP REFER. The Transfer dialplan application can be used to do it, but whether that fulfills your needs I don’t know.
I looked at the Transfer application but it didn’t meet the RFC. When an agent has to do an attended transfer, i have to send an INVITE to a conferencing application which would reply with a conference ID. i then have to send a second INVITE with the conference ID i just got to place myself on that bridge. i finally sent an in-dialog SIP REFER to put the caller on the bridge. This last step would contain a header (Refer-To) which would be the URI of the transfer target and the bridging application (typically the Telco) would send the INVITE to the transfer target.
I may have skipped a step or 2 in the above for the sake of brevity but it’s pretty well laid out in the RFC,
I seems to me that Asterisk would fall into the ‘Conference-Unaware UA’ category - in which case you should be able to simply send it a REFER (perhaps using the transfer app) to the conference URI.