<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; "><div>Toyima,</div><div><br></div><div>Here's how I think of it (100% accuracy not guaranteed!). &nbsp;Imagine the following scenarios.</div><div><br></div><div>An INVITE comes into Opensips. &nbsp;Opensips then sends it out to 5 places at once. &nbsp;Once it receives a 200 OK from one of those 5 places, it sends CANCELs to the other 4. &nbsp;This is parallel forking – where the proxy sends to multiple upstream destinations at once. &nbsp;This is achieved by having multiple Contacts loaded before a t_relay.</div><div><br></div><div>An INVITE comes into Opensips. &nbsp;Opensips sends it to the first destination, but this destination doesn't answer or replies with some other negative response. &nbsp;In fact, not answering is a negative response (408 Timeout) within Opensips. &nbsp;Openisps catches this negative response in a failure_route and tries to send the INVITE to a second destination, and so on. &nbsp;This is serial forking, one at a time. &nbsp;This is achieved by intention scripting to catch a failure in a failure_route and handle it as you see fit.</div><div><br></div><div>Forking in general seems to me to be more a description of a process rather than a specific set of functions in Opensips. &nbsp;There are various ways to implement either flavor of it, depending on your specific needs.</div><div><br></div><div><br></div><div>- Jeff</div><div><br></div><div><br></div><div><br></div><span id="OLK_SRC_BODY_SECTION"><div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"><span style="font-weight:bold">From: </span> Toyima Dias &lt;<a href="mailto:toyimads@gmail.com">toyimads@gmail.com</a>&gt;<br><span style="font-weight:bold">Reply-To: </span> OpenSIPS users mailling list &lt;<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;<br><span style="font-weight:bold">Date: </span> Fri, 28 Jan 2011 04:39:10 -0500<br><span style="font-weight:bold">To: </span> OpenSIPS users mailling list &lt;<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;<br><span style="font-weight:bold">Subject: </span> [OpenSIPS-Users] confussion with forking<br></div><div><br></div><div><font face="tahoma,sans-serif">Hello,</font></div><div><font face="tahoma,sans-serif"></font>&nbsp;</div><div><font face="tahoma,sans-serif">I'm a little confuse about the parallel and serial forking...whats the meaning of that? is this like a t_replicate function works? I can make that 2 phones ring if the are registered with the same AOR...is that forking? but serial or parallel? what about <span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 21px; color: rgb(102, 102, 102); font-size: 13px; font-family: 'Trebuchet MS', sans-serif, Verdana, Arial; " class="Apple-style-span">serialize_branches(clear), <span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 21px; color: rgb(102, 102, 102); font-size: 13px; font-family: 'Trebuchet MS', sans-serif, Verdana, Arial; " class="Apple-style-span">next_branches() <font color="#000000">and</font> append_branches() <font color="#000000">functions? </font></span></span></span></span></font></div><div><font color="#000000" face="tahoma,sans-serif"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="LINE-HEIGHT: 21px; FONT-FAMILY: 'Trebuchet MS', sans-serif, Verdana, Arial; COLOR: rgb(102,102,102); FONT-SIZE: 13px" class="Apple-style-span"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 21px; color: rgb(102, 102, 102); font-size: 13px; font-family: 'Trebuchet MS', sans-serif, Verdana, Arial; " class="Apple-style-span"></span></span></span></span></font>&nbsp;</div><div><font color="#000000" face="tahoma,sans-serif"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="LINE-HEIGHT: 21px; FONT-FAMILY: 'Trebuchet MS', sans-serif, Verdana, Arial; COLOR: rgb(102,102,102); FONT-SIZE: 13px" class="Apple-style-span"><span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Times New Roman'; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="line-height: 21px; color: rgb(102, 102, 102); font-size: 13px; font-family: 'Trebuchet MS', sans-serif, Verdana, Arial; " class="Apple-style-span">Thanks in advance for your help!</span></span></span></span></font></div></span></body></html>