Internal sip UAs are registered in local SIP Proxy.
When there is an incoming call from external network some extension in
dialplan is invoked.
After this asterisk verifies mapping between dialed external user (invoked
extension) and target user in internal network
it dials internal user with the usage of following marco:
exten => s,1,NoOp(-- Internal call to: ${MACRO_EXTEN})
exten => s,n,Answer()
exten => s,n,Dial(SIP/${ARG1},60,ftT)
exten => s,n(congestion),Congestion(20)
This causes that call is redirected to the local sip proxy.
Error arises when invite request is forked in the sip proxy.
Due to the forked request there is an ringing response from
two user agents and those responses create early dialog
(they contain tag in from header field).
Ringing responses of course are received in some order to asterisk.
If call is answered by the user agent whose SIP ringing response came as
the second one asterisk never replies with the ACK.
If call is answered by the user agent whose SIP ringing response came as the
first
one everything works fine.
This is an error.
According to RFC 3261 Ringing response creates early dialog and if there is
no final response received
dialog should be terminated.
Is there any patch for this issue or a way to fix this through
configuration?
Bests regards
TOmasz
------=_Part_426_16332738.1201259051837
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi,<br><br>I encountered the following problem:<br>My asterisk
works as a gateway between two sip networks external (public internet) and
internal (local lan) <br>From public side asterisk is registered UA in
external network.<br>
Internal sip UAs are registered in local SIP Proxy.<br>When there is an
incoming call from external network some extension in dialplan is
invoked.<br>After this asterisk verifies mapping between dialed external
user (invoked extension) and target user in internal network <br>
it dials internal user with the usage of following marco:<br>exten
=> s,1,NoOp(-- Internal call to: ${MACRO_EXTEN})<br>exten =>
s,n,Answer()<br>exten =>
s,n,Dial(SIP/${ARG1},60,ftT)<br>exten =>
s,n(congestion),Congestion(20)<br>
<br> This causes that call is redirected to the local sip
proxy.<br><br>Error arises when invite request is forked in the sip
proxy.<br>Due to the forked request there is an ringing response
from<br>two user agents and those responses create early dialog<br>
(they contain tag in from header field).<br>Ringing responses of course
are received in some order to asterisk.<br><br>If call is answered
by the user agent whose SIP ringing response came as <br>the second one
asterisk never replies with the ACK.<br>
If call is answered by the user agent whose SIP ringing response came as the
first <br>one everything works fine.<br>This is an
error.<br><br>According to RFC 3261 Ringing response creates early
dialog and if there is no final response received<br>
dialog should be terminated.<br><br>Is there any patch for this
issue or a way to fix this through configuration?<br><br>Bests
regards<br>TOmasz<br><br>
------=_Part_426_16332738.1201259051837--