No subject


Thu Jul 12 09:23:04 CDT 2007


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 =&gt; s,1,NoOp(-- Internal call to: ${MACRO_EXTEN})<br>exten =&gt; s,n,Answer()<br>exten =&gt; s,n,Dial(SIP/${ARG1},60,ftT)<br>exten =&gt; 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--



More information about the asterisk-users mailing list