<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Jason,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Below is our config, <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>route[LOCATION] {<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>       if(is_method("INVITE"))<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        {<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                if(!route(FROMCSCF))<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                {<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                        setflag(FLT_ACC);<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                        setflag(FLT_ACCFAILED);<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                        dlg_manage();<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                        dlg_setflag("4");<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                        async_route("RESUME", "1");<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                        exit;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                }<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        }<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>route[RESUME]<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>{<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        route(TO_LOCATION);            // here t_relay to REGISTRAR is done for user lookup.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>        exit;<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Shankar<o:p></o:p></span></p><div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in'><p class=MsoNormal style='border:none;padding:0in'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p></div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoPlainText>Date: Tue, 21 Jan 2014 11:14:21 +0200<o:p></o:p></p><p class=MsoPlainText>From: Jason Penton <<a href="mailto:jason.penton@smilecoms.com">jason.penton@smilecoms.com</a>><o:p></o:p></p><p class=MsoPlainText>To: "Kamailio (SER) - Users Mailing List"<o:p></o:p></p><p class=MsoPlainText>      <<a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>><o:p></o:p></p><p class=MsoPlainText>Subject: Re: [SR-Users] FW: Regd. t_suspend() and t_continue()<o:p></o:p></p><p class=MsoPlainText>Message-ID:<o:p></o:p></p><p class=MsoPlainText>      <<a href="mailto:CAE=KcrghqJHgnGDxqS1fYvUzM=HqRAcKWfEAsNJjm8xUDCq68w@mail.gmail.com">CAE=KcrghqJHgnGDxqS1fYvUzM=HqRAcKWfEAsNJjm8xUDCq68w@mail.gmail.com</a>><o:p></o:p></p><p class=MsoPlainText>Content-Type: text/plain; charset="iso-8859-1"<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>We use it heavily, but not using the async module - we use it directly from the IMS code.<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Can you please provide your config (or a relevant snippet) file so I can see what exactly you are testing/trying to do<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Cheers<o:p></o:p></p><p class=MsoPlainText>jason<o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Shankar [mailto:shankar.rk@plintron.com] <br><b>Sent:</b> Tuesday, January 21, 2014 2:25 PM<br><b>To:</b> 'SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List'<br><b>Subject:</b> RE: [SR-Users] FW: Regd. t_suspend() and t_continue()<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Anyone who had used t_suspend() and t_continue() can share the performance details?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I tried async module with one sec sleep time. I tried only 5 calls per second but still it was not successful. After sometime I see below logs,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;background:yellow;mso-highlight:yellow'>Jan 21 13:51:55 PLT-RA-RD-W167A PCscf[16520]: ERROR: tm [t_suspend.c:128]: t_continue(): ERROR: t_continue: transaction not found<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;background:yellow;mso-highlight:yellow'>Jan 21 13:52:49 PLT-RA-RD-W167A last message repeated 15 times<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;background:yellow;mso-highlight:yellow'>Jan 21 13:59:38 PLT-RA-RD-W167A last message repeated 12 times<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;background:yellow;mso-highlight:yellow'>Jan 21 14:13:03 PLT-RA-RD-W167A last message repeated 5 times</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Any configuration changes can help here?<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Shankar<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Shankar [<a href="mailto:shankar.rk@plintron.com">mailto:shankar.rk@plintron.com</a>] <br><b>Sent:</b> Wednesday, January 15, 2014 1:26 PM<br><b>To:</b> 'Jason Penton'<br><b>Cc:</b> 'SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List'<br><b>Subject:</b> RE: [SR-Users] FW: Regd. t_suspend() and t_continue()<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Jason,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I am using 4.0.2 <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Shankar<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Jason Penton [<a href="mailto:jason.penton@smilecoms.com">mailto:jason.penton@smilecoms.com</a>] <br><b>Sent:</b> Wednesday, January 15, 2014 1:21 PM<br><b>To:</b> Shankar<br><b>Cc:</b> SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List<br><b>Subject:</b> Re: [SR-Users] FW: Regd. t_suspend() and t_continue()<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Hi Shankar,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>What version of Kamailio are you running? Kamailio -V<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Cheers<o:p></o:p></p></div><div><p class=MsoNormal>Jason<o:p></o:p></p></div></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal>On Wed, Jan 15, 2014 at 6:58 AM, Shankar <<a href="mailto:shankar.rk@plintron.com" target="_blank">shankar.rk@plintron.com</a>> wrote:<o:p></o:p></p><div><div><p>Hi Jason,<o:p></o:p></p><p> <o:p></o:p></p><p>Please find below my response inline,<o:p></o:p></p><div><p> <o:p></o:p></p><p> <o:p></o:p></p><p>I have some questions for you as we have used suspend/continue quite a lot in the IMS code and don't have any leaks.<o:p></o:p></p><p> <o:p></o:p></p><p>Firstly, why are you using pkg_mem for your hash_id and label? Remember that you will be in 2 different processes in the suspend and continue portions of the code... so pkg_mem will not work - you should use shm_mem instead.<o:p></o:p></p><p> <o:p></o:p></p></div><p><span style='background:yellow'>[Shankar] We use pkg_mem because we are invoking t_continue from the same process ( using thread ).</span><o:p></o:p></p><div><p> <o:p></o:p></p><p>Secondly, how are you using top to tell that you have a leak? Kamailio's memory is internally managed.<o:p></o:p></p><p> <o:p></o:p></p></div><p><span style='background:yellow'>[Shankar] After running for say 20minutes, we get out of shared memory error. Also in top output we observed incremental increase in the shared usage of shared memory for the process.</span><o:p></o:p></p><div><p> <o:p></o:p></p><p>Cheers<o:p></o:p></p><p>Jason<o:p></o:p></p><p> <o:p></o:p></p><p> <o:p></o:p></p><p>On Mon, Jan 13, 2014 at 1:29 PM, Shankar <<a href="mailto:shankar.rk@plintron.com" target="_blank">shankar.rk@plintron.com</a>> wrote:<o:p></o:p></p><p> <o:p></o:p></p><p>> Re-sending without the attachment.<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p></div><p>> *From:* Shankar [<a href="mailto:shankar.rk@plintron.com" target="_blank">mailto:shankar.rk@plintron.com</a>]<o:p></o:p></p><p>> *Sent:* Monday, January 13, 2014 4:57 PM<o:p></o:p></p><p>> *To:* '<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>'<o:p></o:p></p><p>> *Subject:* Regd. t_suspend() and t_continue()<o:p></o:p></p><div><div><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> Hi,<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> We are trying out the t_suspend() and t_continue() in our test setup. <o:p></o:p></p><p>> We are facing memory leak ( both shm and pkg as per top command results).<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> Please find below the scenario,<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> 1)      Do a t_newtran()<o:p></o:p></p><p>> <o:p></o:p></p><p>> 2)      Allocate pkg memory for hashid and label.<o:p></o:p></p><p>> <o:p></o:p></p><p>> 3)      Call t_suspend()<o:p></o:p></p><p>> <o:p></o:p></p><p>> 4)      Do t_continue() when async result is available<o:p></o:p></p><p>> <o:p></o:p></p><p>> 5)      De-allocate pkg memory reserved for hashid and label<o:p></o:p></p><p>> <o:p></o:p></p><p>> 6)      Do a t_relay() which forwards the sip message to another sip node.<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> In the  step (6) above, we see t_newtran() allocates one more time <o:p></o:p></p><p>> shared memory for the same transaction.<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> We tried t_release() after step (4) to release the transaction as<o:p></o:p></p><p>> t_relay() anyways allocates new shared memory. Nothing helped.<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> Please let me know what are the logs you would require to debug the same.<o:p></o:p></p><p>> I am attaching syslog for this run.<o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> <o:p></o:p></p><p>> Regards,<o:p></o:p></p><p>> <o:p></o:p></p><p>> Shankar<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p></div></div></div></div></div><p class=MsoNormal><br><br clear=all><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>-- <o:p></o:p></p><div><div><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=600 style='width:6.25in'><tr><td valign=top style='padding:0in 0in 0in 0in'></td></tr></table><p class=MsoNormal><span style='display:none'><o:p> </o:p></span></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0><tr><td style='padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><strong><span style='font-family:"Arial","sans-serif";color:#75B343'>Jason Penton</span></strong><span style='font-family:"Arial","sans-serif";color:#75B343'><o:p></o:p></span></p></td></tr><tr><td style='padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><strong><span style='font-family:"Arial","sans-serif";color:#75B343'>Senior Manager: Applications and Services</span></strong><span style='font-family:"Arial","sans-serif";color:#75B343'><o:p></o:p></span></p></td></tr><tr><td style='padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><strong><span style='font-family:"Arial","sans-serif";color:#86919A'>Smile Communications Pty (Ltd)</span></strong><span style='font-family:"Arial","sans-serif";color:#86919A'><o:p></o:p></span></p></td></tr><tr><td style='padding:0in 0in 0in 0in'><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width="100%" style='width:100.0%'><tr><td width="27%" style='width:27.0%;padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><strong><span style='font-family:"Arial","sans-serif";color:#86919A'>Mobile:</span></strong><span style='font-family:"Arial","sans-serif";color:#86919A'><o:p></o:p></span></p></td><td width="73%" style='width:73.0%;padding:7.5pt 0in 0in 7.5pt'><p class=MsoNormal style='line-height:13.5pt'><span style='font-family:"Arial","sans-serif";color:#86919A'>+27 (0) 83 283 7000<o:p></o:p></span></p></td></tr><tr><td style='padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><strong><span style='font-family:"Arial","sans-serif";color:#86919A'>Skype:</span></strong><span style='font-family:"Arial","sans-serif";color:#86919A'><o:p></o:p></span></p></td><td style='padding:7.5pt 0in 0in 7.5pt'><p class=MsoNormal style='line-height:13.5pt'><span style='font-family:"Arial","sans-serif";color:#86919A'>jason.barry.penton<o:p></o:p></span></p></td></tr></table></td></tr><tr><td style='padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><span style='font-family:"Arial","sans-serif";color:#75B343'><a href="mailto:name.surname@smilecoms.com" target="_blank"><span style='color:#75B343;text-decoration:none'>jason.penton@smilecoms.com</span></a><o:p></o:p></span></p></td></tr><tr><td style='padding:7.5pt 0in 0in 11.25pt'><p class=MsoNormal style='line-height:13.5pt'><span style='font-family:"Arial","sans-serif";color:#75B343'><a href="http://www.smilecoms.com/" target="_blank"><span style='color:#75B343'>www.smilecoms.com</span></a><br><img border=0 width=420 height=144 id="_x0000_i1025" src="http://196.33.227.129/~smlcoms/sigs/pty/images/smile_signature_07_09.jpg"><o:p></o:p></span></p></td></tr></table></div><p class=MsoNormal><o:p> </o:p></p></div></div><pre>This email is subject to the disclaimer of Smile Communications at <a href="http://www.smilecoms.com/disclaimer">http://www.smilecoms.com/disclaimer</a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre></div></body></html>