I would like to configure my asterisk (B) to do this scenario:
1/ a client connects to a SIP server (A) (not my asterisk)
2/ this client receives a REFER to my asterisk server (B)
3/ my asterisk server (B) forward the client to an external asterisk ( C ) with the RE-INVITE method (mandatory)
Is this possible? If so, do you have an example of a configuration?
(I know this may sound weird but I have a very complicated architecture system)
ReINVITE is not used for forwarding in SIP.
SIP Server A and the REFER are irrelevant, as, following the REFER, the subsequent transactions look like a new call from the client.
Asterisk will normally forward the call with a simple INVITE. It may then issue ReINVITE to both client and C, to request media flow directly between them.
It can also issue a 302 final response to the client, before answering, or issue a REFER to the client after answering, that tell the client to issue an INVITE directly to C. The latter is not very much used and may be buggy, especially if something goes wrong.
Thank for your answer.
What is the line in the configuration to add in order to “forward the call with a simple INVITE and issue REINVITE to both client client and C” ?
with no options., that would require it to look for DTMF You will need to enable direct media in you configuration of B for both the client and C, but details depend on the channel technology driver you are using. The codecs used for both client and C must be compatible. You must not have enabled recording, or otherwise done anything that would require Asterisk to see the media stream.
You mustn’t do anything else that would require Asterisk to look for DTMF.
Media must actually be routable between the client and C.