Custom join announcement

I have a queue and callers how join the queue will hear a join announcement.Now i need that the callers hear a custom announcement depending their call DID.In the extensions_additional.conf there is a line

exten => 500,n,Set(QJOINMSG=${IF($[${LEN(${VQ_JOINMSG})}>0]?${IF($["${VQ_JOINMSG}"!=“0”]?${VQ_JOINMSG}: )}:custom/09-four_seasons-_summer_avaya)})
when i change it to
exten => 500,n,Set(QJOINMSG=${IF($[${LEN(${VQ_JOINMSG})}>0]?${IF($["${VQ_JOINMSG}"!=“0”]?${VQ_JOINMSG}: )}:custom/${FROM_DID})})
the problem is solved.But it states not to modify this file.Is there another conf file where i can put in this modification or another approach without "breaking the rules"
Latest Freepbx Distro,Asterisk 11.+
thsnk you for your help

Look at all the extensions_* files. extensions_custom.conf is for doing exactly what you are trying to do. You will need to take the entire context containing the code you are trying to modify and put it there and modify it.

thank you for your help.
i followed your advice.
copied the entire context to extensions_custom.conf,modified the line as needed
exten => 500,n,ExecIf($["${QUEUE_MEMBER(${EXTEN},logged)"!>“0”]?Playback(/var/lib/asterisk/sounds/custom/${FROM_DID}_1))
and created a custom destination for the Queue where i route the calls.
That way if there is an agent in the queue the caller will hear a costumized announcement depending his DID.if there is no agent the caller will go to a failover custom destination that i have created and will hear a DID costumized Bye Bye announcement.