<div dir="ltr"><div>Hello,</div><div><br></div><div>We have a system that interoperates with an external service, so that the basic call flow is:</div><div><br></div><div>PSTN origination -> Asterisk A -> External service -> Asterisk B<br></div><div><br></div><div>Initially the SDP from the external service tells the two Asterisks to send RTP directly to each other. Part way through the call the external service sends re-INVITEs both Asterisks to change the address for audio to itself, but this fails to work intermittently. The problem seems to be one of timing.</div><div><br></div><div>If there's no RTP between the two re-INVITEs then it works fine, and both Asterisks send future RTP to the external service as instructed.</div><div><br></div><div>The problem is if RTP is transmitted/received in the fraction of the second between the two re-INVITEs. If Asterisk A receives the re-INVITE first, and then receives RTP from Asterisk B (which hasn't yet received its re-INVITE), then it re-learns the media address of Asterisk B and sends audio there instead of the new address. Asterisk B gets the second re-INVITE with the new media address, but soon re-learns the media address of Asterisk A because it's getting RTP from it.<br></div><div><br></div><div>Note we have "canreinvite = no" in sip.conf, but I don't think that's relevant to the problem.<br></div><div><br></div><div>Can anyone suggest how to prevent this problem? Is it possible to turn off learning the media address per call or per peer?</div><div><br></div><div>Thanks for your help.</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>David Cunningham, Voisonics Limited<br><a href="http://voisonics.com/" target="_blank">http://voisonics.com/</a><br>USA: +1 213 221 1092<br>New Zealand: +64 (0)28 2558 3782</div></div></div></div></div></div></div></div></div></div></div></div>