How should Asterisk handle a requesting INVITE with Replaces


How can make Asterisk only pass the INVITE message with Replaces field to the target instead of creating a new INVITE without Replaces field.

I encountered a problem when doing transfer using “REFER”. The condition is UA0(6000) has established a call with UA1(6001). When doing REFER, UA0 will first invite UA2(6002). After getting OK, UA0 will send REFER to UA1 to transfer the current call to UA2. UA1 then sends a INVITE to UA2 with Replaces header field.
After Asterisk receives a “INVITE” with “Replaces” from UA1, it sends a new constructed “INVITE” without “Replaces” to the target UA2. Since UA2 has established the call from UA0 before a “REFER” is sent, UA2 return a busy message. I thought if the INVITE with correct Replaces is transmitted to UA2, this REFER could be successful.

But according to the extensions.conf, after Asterisk received request to UA2, it will do Dial(6002). Then how could asterisk pass the Replaces to the tartget?

exten => 6006002, 1, Dial(SIP/6006002)