From mvar78@gmail.com Wed Sep 3 15:02:09 2014 From: Massimo Varriale To: freeswitch-users@lists.freeswitch.org Subject: [Freeswitch-users] RECOVERY_ON_TIMER_EXPIRE + Changing Hangup Cause Date: Wed, 03 Sep 2014 13:01:35 +0200 Message-ID: <6BD010A0-B106-4898-AA79-C69ECEA8F53C@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6614779138373613597==" --===============6614779138373613597== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi All! This is my first question...and what question... I'm a skilled developer and I'm almost familiar with telephony in general sin= ce it's 15 years experience in telco companies. However I'm still facing a pr= oblem I couldn't find any solution yet and i hope someone could help in findi= ng a solution As my present company can't afford an expensive soft switch I'm using Freeswi= tch 1.4 with a simple dialplan.xml and some scripts to load CDRs into mysql t= o send incoming calls to my remote peers. At present the live traffic is only= 1 incoming IP and 1 outgoing peer, quite easy. On some calls I'm getting "408 Request Timeout" and FS is giving me a RECOVER= Y_ON_TIMER_EXPIRE cause (IDSN 102). The problem is that as most of the switch= es are not able to make automatic rerouting based on this cause and so, I wil= l like to use instead the ISDN Cause 18 (I suppose "480 Temporarily unavailab= le"). Is this possible? I've used this snippet of code that use another relcause but with same concep= t (taken as is and pasted into the dialplan) but doesn't work as the 408 is g= iven after 183. =20 sip:408"> =20 =09 How to correctly remap causes? If there is no way to change normal behaviour, do you think could be possible= also to change the source code and recompile FS accordly? Thank yo so much and sorry for this long post I hope someone could help Max --===============6614779138373613597== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13 ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1z cGFjZTsgIj5IaSBBbGwhPGRpdj5UaGlzIGlzIG15IGZpcnN0IHF1ZXN0aW9uLi4uYW5kIHdoYXQg cXVlc3Rpb24uLi48L2Rpdj48ZGl2PkknbSBhIHNraWxsZWQgZGV2ZWxvcGVyIGFuZCBJJ20gYWxt b3N0IGZhbWlsaWFyIHdpdGggdGVsZXBob255IGluIGdlbmVyYWwgc2luY2UgaXQncyAxNSB5ZWFy cyBleHBlcmllbmNlIGluIHRlbGNvIGNvbXBhbmllcy4mbmJzcDtIb3dldmVyIEknbSBzdGlsbCBm YWNpbmcgYSBwcm9ibGVtIEkgY291bGRuJ3QgZmluZCBhbnkgc29sdXRpb24geWV0IGFuZCBpIGhv cGUgc29tZW9uZSBjb3VsZCBoZWxwIGluIGZpbmRpbmcgYSBzb2x1dGlvbjwvZGl2PjxkaXY+PGJy PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QXMgbXkgcHJlc2VudCBjb21wYW55IGNhbid0IGFm Zm9yZCBhbiBleHBlbnNpdmUgc29mdCBzd2l0Y2ggSSdtIHVzaW5nIDxiPkZyZWVzd2l0Y2ggMS40 PC9iPiB3aXRoIGEgc2ltcGxlIDxiPmRpYWxwbGFuLnhtbDwvYj4gYW5kIHNvbWUgc2NyaXB0cyB0 byBsb2FkIDxiPkNEUnMgaW50byBteXNxbDwvYj4gdG8gc2VuZCBpbmNvbWluZyBjYWxscyB0byBt eSByZW1vdGUgcGVlcnMuIEF0IHByZXNlbnQgdGhlIGxpdmUgdHJhZmZpYyBpcyBvbmx5IDxiPjEg aW5jb21pbmcgSVA8L2I+ICZuYnNwO2FuZCA8Yj4xIG91dGdvaW5nIHBlZXI8L2I+LCBxdWl0ZSBl YXN5LjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+T24gc29tZSBjYWxscyBJJ20gZ2V0dGluZyAi NDA4Jm5ic3A7UmVxdWVzdCBUaW1lb3V0IiBhbmQgRlMgaXMgZ2l2aW5nIG1lIGEmbmJzcDtSRUNP VkVSWV9PTl9USU1FUl9FWFBJUkUgY2F1c2UgKElEU04gMTAyKS4gVGhlIHByb2JsZW0gaXMgdGhh dCBhcyBtb3N0IG9mIHRoZSBzd2l0Y2hlcyBhcmUgbm90IGFibGUgdG8gbWFrZSBhdXRvbWF0aWMg cmVyb3V0aW5nIGJhc2VkIG9uIHRoaXMgY2F1c2UgYW5kIHNvLCBJIHdpbGwgbGlrZSB0byB1c2Ug aW5zdGVhZCB0aGUgSVNETiBDYXVzZSAxOCAoSSBzdXBwb3NlICI0ODAgVGVtcG9yYXJpbHkgdW5h dmFpbGFibGUiKS48L2Rpdj48ZGl2PklzIHRoaXMgcG9zc2libGU/PC9kaXY+PGRpdj48YnI+PC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JJ3ZlIHVzZWQgdGhpcyBzbmlwcGV0IG9mIGNvZGUgdGhh dCB1c2UgYW5vdGhlciByZWxjYXVzZSBidXQgd2l0aCBzYW1lIGNvbmNlcHQgKHRha2VuIGFzIGlz IGFuZCBwYXN0ZWQgaW50byB0aGUgZGlhbHBsYW4pIGJ1dCBkb2Vzbid0IHdvcmsgYXMgdGhlIDQw OCBpcyBnaXZlbiBhZnRlciAxODMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48ZGl2Pjxmb250 IGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBmYWNlPSJDb3VyaWVyIj48c3BhbiBjbGFzcz0iQXBw bGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgkJPC9zcGFuPiAmbmJzcDsmbHQ7 ZXh0ZW5zaW9uIG5hbWU9IkFsbERlc3RpbmF0aW9uc19JbmJvdW5kIiZndDs8L2ZvbnQ+PC9kaXY+ PGRpdj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4g Y2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCQk8L3NwYW4+ ICZsdDtjb25kaXRpb24gZmllbGQ9ImRlc3RpbmF0aW9uX251bWJlciIgZXhwcmVzc2lvbj0iXiIm Z3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGZhY2U9 IkNvdXJpZXIiPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNl OnByZSI+CQkJPC9zcGFuPiAmbHQ7Y29uZGl0aW9uIGZpZWxkPSJuZXR3b3JrX2FkZHIiIGV4cHJl c3Npb249Il4xNTRcLjQ4XC4xOThcLjE5MCQiLyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj bGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4gY2xhc3M9IkFwcGxl LXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCQk8L3NwYW4+ICZuYnNwOyAmbHQ7 YWN0aW9uIGFwcGxpY2F0aW9uPSJzZXQiIGRhdGE9Imhhbmd1cF9hZnRlcl9icmlkZ2U9dHJ1ZSIv Jmd0OzwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIiBmYWNl PSJDb3VyaWVyIj48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFj ZTpwcmUiPgkJCTwvc3Bhbj4gJm5ic3A7ICZsdDthY3Rpb24gYXBwbGljYXRpb249InNldCIgZGF0 YT0iY29udGludWVfb25fZmFpbD0xOSIvJmd0OzwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNsYXNz PSJBcHBsZS1zdHlsZS1zcGFuIiBmYWNlPSJDb3VyaWVyIj48c3BhbiBjbGFzcz0iQXBwbGUtdGFi LXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgkJCTwvc3Bhbj4gJm5ic3A7ICZsdDthY3Rp b24gYXBwbGljYXRpb249ImJyaWRnZSIgZGF0YT0ic29maWEvZ2F0ZXdheS9yZW1vdGVfb3V0Ym91 bmRfcGVlci8ke2Rlc3RpbmF0aW9uX251bWJlcn0iLyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u dCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4gY2xhc3M9IkFw cGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCQk8L3NwYW4+ICZuYnNwOyAm bHQ7YWN0aW9uIGFwcGxpY2F0aW9uPSJ0cmFuc2ZlciIgZGF0YT0iNDA4dG81MDMiLyZndDs8L2Zv bnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmll ciI+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4J CQk8L3NwYW4+ICZsdDsvY29uZGl0aW9uJmd0OzwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNsYXNz PSJBcHBsZS1zdHlsZS1zcGFuIiBmYWNlPSJDb3VyaWVyIj48c3BhbiBjbGFzcz0iQXBwbGUtdGFi LXNwYW4iIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPgkJPC9zcGFuPiAmbmJzcDsgJmx0Oy9leHRl bnNpb24mZ3Q7PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6 cHJlIj4JCQkJPC9zcGFuPiAmbmJzcDsmbmJzcDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFz cz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4gY2xhc3M9IkFwcGxlLXRh Yi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bhbj4gJm5ic3A7ICZsdDshLS1J U0ROIENBVSAzNCAtLSZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFzcz0iQXBwbGUtc3R5 bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1zcGFuIiBzdHls ZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bhbj4gJm5ic3A7ICZsdDtleHRlbnNpb24gbmFtZT0i NDA4dG81MDMiJmd0OzwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGNsYXNzPSJBcHBsZS1zdHlsZS1z cGFuIiBmYWNlPSJDb3VyaWVyIj48c3BhbiBjbGFzcz0iQXBwbGUtdGFiLXNwYW4iIHN0eWxlPSJ3 aGl0ZS1zcGFjZTpwcmUiPgkJCTwvc3Bhbj4gJmx0O2NvbmRpdGlvbiBmaWVsZD0iJHtwcm90b19z cGVjaWZpY19oYW5ndXBfY2F1c2V9IiBleHByZXNzaW9uPSImbHQ7YSBocmVmPSI8YSBocmVmPSJz aXA6NDA4Ij5zaXA6NDA4PC9hPiImZ3Q7c2lwOjQwOCImZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZv bnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGZhY2U9IkNvdXJpZXIiPjxzcGFuIGNsYXNzPSJB cHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQkJPC9zcGFuPiAmbmJzcDsg Jmx0O2FjdGlvbiBhcHBsaWNhdGlvbj0ic2V0IiBkYXRhPSJzaXBfaWdub3JlX3JlbW90ZV9jYXVz ZT10cnVlIi8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNw YW4iIGZhY2U9IkNvdXJpZXIiPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9Indo aXRlLXNwYWNlOnByZSI+CQkJPC9zcGFuPiAmbmJzcDsgJmx0O2FjdGlvbiBhcHBsaWNhdGlvbj0i cmVzcG9uZCIgZGF0YT0iNTAzIi8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFw cGxlLXN0eWxlLXNwYW4iIGZhY2U9IkNvdXJpZXIiPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3Bh biIgc3R5bGU9IndoaXRlLXNwYWNlOnByZSI+CQkJPC9zcGFuPiAmbmJzcDsgJmx0O2FjdGlvbiBh cHBsaWNhdGlvbj0iaGFuZ3VwIiBkYXRhPSJOT1JNQUxfQ0lSQ1VJVF9DT05HRVNUSU9OIi8mZ3Q7 PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIGZhY2U9IkNv dXJpZXIiPjxzcGFuIGNsYXNzPSJBcHBsZS10YWItc3BhbiIgc3R5bGU9IndoaXRlLXNwYWNlOnBy ZSI+CQkJPC9zcGFuPiAmbHQ7L2NvbmRpdGlvbiZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBj bGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4gY2xhc3M9IkFwcGxl LXRhYi1zcGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JCTwvc3Bhbj4gJm5ic3A7ICZsdDsv ZXh0ZW5zaW9uJmd0OyAmbmJzcDsmbmJzcDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBjbGFzcz0i QXBwbGUtc3R5bGUtc3BhbiIgZmFjZT0iQ291cmllciI+PHNwYW4gY2xhc3M9IkFwcGxlLXRhYi1z cGFuIiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlIj4JPC9zcGFuPjwvZm9udD48L2Rpdj48L2Rpdj48 ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+SG93 IHRvIGNvcnJlY3RseSByZW1hcCBjYXVzZXM/PC9kaXY+PC9kaXY+PGRpdj5JZiB0aGVyZSBpcyBu byB3YXkgdG8gY2hhbmdlIG5vcm1hbCBiZWhhdmlvdXIsIGRvIHlvdSB0aGluayBjb3VsZCBiZSBw b3NzaWJsZSBhbHNvIHRvIGNoYW5nZSB0aGUgc291cmNlIGNvZGUgYW5kIHJlY29tcGlsZSBGUyBh Y2NvcmRseT88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rIHlv IHNvIG11Y2ggYW5kIHNvcnJ5IGZvciB0aGlzIGxvbmcgcG9zdDwvZGl2PjxkaXY+SSBob3BlIHNv bWVvbmUgY291bGQgaGVscDwvZGl2PjxkaXY+TWF4PC9kaXY+PC9ib2R5PjwvaHRtbD4= --===============6614779138373613597==-- From brian@freeswitch.org Wed Sep 3 16:35:16 2014 From: Brian West To: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] RECOVERY_ON_TIMER_EXPIRE + Changing Hangup Cause Date: Wed, 03 Sep 2014 07:34:45 -0500 Message-ID: In-Reply-To: <6BD010A0-B106-4898-AA79-C69ECEA8F53C@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2933306640579760974==" --===============2933306640579760974== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable RECOVERY_ON_TIMER_EXPIRE usually means you have a NAT issue, can you clarify your signaling paths? On Wed, Sep 3, 2014 at 6:01 AM, Massimo Varriale wrote: > Hi All! > This is my first question...and what question... > I'm a skilled developer and I'm almost familiar with telephony in general > since it's 15 years experience in telco companies. However I'm still facing > a problem I couldn't find any solution yet and i hope someone could help in > finding a solution > > > As my present company can't afford an expensive soft switch I'm using *Free= switch > 1.4* with a simple *dialplan.xml* and some scripts to load *CDRs into > mysql* to send incoming calls to my remote peers. At present the live > traffic is only *1 incoming IP* and *1 outgoing peer*, quite easy. > > On some calls I'm getting "408 Request Timeout" and FS is giving me > a RECOVERY_ON_TIMER_EXPIRE cause (IDSN 102). The problem is that as most of > the switches are not able to make automatic rerouting based on this cause > and so, I will like to use instead the ISDN Cause 18 (I suppose "480 > Temporarily unavailable"). > Is this possible? > > > I've used this snippet of code that use another relcause but with same > concept (taken as is and pasted into the dialplan) but doesn't work as the > 408 is given after 183. > > > > > > > data=3D"sofia/gateway/remote_outbound_peer/${destination_number}"/> > > > > > > sip:408">sip:408"> > > > > > > > > > How to correctly remap causes? > If there is no way to change normal behaviour, do you think could be > possible also to change the source code and recompile FS accordly? > > > Thank yo so much and sorry for this long post > I hope someone could help > Max > > _________________________________________________________________________ > Professional FreeSWITCH Consulting Services: > consulting@freeswitch.org > http://www.freeswitchsolutions.com > > Official FreeSWITCH Sites > http://www.freeswitch.org > http://confluence.freeswitch.org > http://www.cluecon.com > > FreeSWITCH-powered IP PBX: The CudaTel Communication Server > http://www.cudatel.com > > FreeSWITCH-users mailing list > FreeSWITCH-users@lists.freeswitch.org > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users > http://www.freeswitch.org > --=20 *Brian West* brian@freeswitch.org *Twitter: @FreeSWITCH , @briankwest* http://www.freeswitchbook.com http://www.freeswitchcookbook.com *T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378) *iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest --===============2933306640579760974== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGRpdiBkaXI9Imx0ciI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7 Zm9udC1zaXplOjEzLjMzMzMzMzk2OTExNjJweCI+UkVDT1ZFUllfT05fVElNRVJfRVhQSVJFIHVz dWFsbHkgbWVhbnMgeW91IGhhdmUgYSBOQVQgaXNzdWUsIGNhbiB5b3UgY2xhcmlmeSB5b3VyIHNp Z25hbGluZyBwYXRocz88L3NwYW4+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj4K PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBTZXAgMywgMjAxNCBhdCA2 OjAxIEFNLCBNYXNzaW1vIFZhcnJpYWxlIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFp bHRvOm12YXI3OEBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5tdmFyNzhAZ21haWwuY29tPC9h PiZndDs8L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0 eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5n LWxlZnQ6MWV4Ij4KPGRpdiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPkhpIEFsbCE8ZGl2 PlRoaXMgaXMgbXkgZmlyc3QgcXVlc3Rpb24uLi5hbmQgd2hhdCBxdWVzdGlvbi4uLjwvZGl2Pjxk aXY+SSYjMzk7bSBhIHNraWxsZWQgZGV2ZWxvcGVyIGFuZCBJJiMzOTttIGFsbW9zdCBmYW1pbGlh ciB3aXRoIHRlbGVwaG9ueSBpbiBnZW5lcmFsIHNpbmNlIGl0JiMzOTtzIDE1IHllYXJzIGV4cGVy aWVuY2UgaW4gdGVsY28gY29tcGFuaWVzLsKgSG93ZXZlciBJJiMzOTttIHN0aWxsIGZhY2luZyBh IHByb2JsZW0gSSBjb3VsZG4mIzM5O3QgZmluZCBhbnkgc29sdXRpb24geWV0IGFuZCBpIGhvcGUg c29tZW9uZSBjb3VsZCBoZWxwIGluIGZpbmRpbmcgYSBzb2x1dGlvbjwvZGl2Pgo8ZGl2Pjxicj48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkFzIG15IHByZXNlbnQgY29tcGFueSBjYW4mIzM5O3Qg YWZmb3JkIGFuIGV4cGVuc2l2ZSBzb2Z0IHN3aXRjaCBJJiMzOTttIHVzaW5nIDxiPkZyZWVzd2l0 Y2ggMS40PC9iPiB3aXRoIGEgc2ltcGxlIDxiPmRpYWxwbGFuLnhtbDwvYj4gYW5kIHNvbWUgc2Ny aXB0cyB0byBsb2FkIDxiPkNEUnMgaW50byBteXNxbDwvYj4gdG8gc2VuZCBpbmNvbWluZyBjYWxs cyB0byBteSByZW1vdGUgcGVlcnMuIEF0IHByZXNlbnQgdGhlIGxpdmUgdHJhZmZpYyBpcyBvbmx5 IDxiPjEgaW5jb21pbmcgSVA8L2I+IMKgYW5kIDxiPjEgb3V0Z29pbmcgcGVlcjwvYj4sIHF1aXRl IGVhc3kuPC9kaXY+CjxkaXY+PGJyPjwvZGl2PjxkaXY+T24gc29tZSBjYWxscyBJJiMzOTttIGdl dHRpbmcgJnF1b3Q7NDA4wqBSZXF1ZXN0IFRpbWVvdXQmcXVvdDsgYW5kIEZTIGlzIGdpdmluZyBt ZSBhwqBSRUNPVkVSWV9PTl9USU1FUl9FWFBJUkUgY2F1c2UgKElEU04gMTAyKS4gVGhlIHByb2Js ZW0gaXMgdGhhdCBhcyBtb3N0IG9mIHRoZSBzd2l0Y2hlcyBhcmUgbm90IGFibGUgdG8gbWFrZSBh dXRvbWF0aWMgcmVyb3V0aW5nIGJhc2VkIG9uIHRoaXMgY2F1c2UgYW5kIHNvLCBJIHdpbGwgbGlr ZSB0byB1c2UgaW5zdGVhZCB0aGUgSVNETiBDYXVzZSAxOCAoSSBzdXBwb3NlICZxdW90OzQ4MCBU ZW1wb3JhcmlseSB1bmF2YWlsYWJsZSZxdW90OykuPC9kaXY+CjxkaXY+SXMgdGhpcyBwb3NzaWJs ZT88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkmIzM5O3ZlIHVzZWQg dGhpcyBzbmlwcGV0IG9mIGNvZGUgdGhhdCB1c2UgYW5vdGhlciByZWxjYXVzZSBidXQgd2l0aCBz YW1lIGNvbmNlcHQgKHRha2VuIGFzIGlzIGFuZCBwYXN0ZWQgaW50byB0aGUgZGlhbHBsYW4pIGJ1 dCBkb2VzbiYjMzk7dCB3b3JrIGFzIHRoZSA0MDggaXMgZ2l2ZW4gYWZ0ZXIgMTgzLjwvZGl2Pgo8 ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9 IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCTwvc3Bhbj4gwqAmbHQ7ZXh0ZW5zaW9uIG5hbWU9JnF1 b3Q7QWxsRGVzdGluYXRpb25zX0luYm91bmQmcXVvdDsmZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZv bnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8 L3NwYW4+ICZsdDtjb25kaXRpb24gZmllbGQ9JnF1b3Q7ZGVzdGluYXRpb25fbnVtYmVyJnF1b3Q7 IGV4cHJlc3Npb249JnF1b3Q7XiZxdW90OyZndDs8L2ZvbnQ+PC9kaXY+CjxkaXY+PGZvbnQgZmFj ZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+ ICZsdDtjb25kaXRpb24gZmllbGQ9JnF1b3Q7bmV0d29ya19hZGRyJnF1b3Q7IGV4cHJlc3Npb249 JnF1b3Q7XjE1NFwuNDhcLjE5OFwuMTkwJCZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZv bnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8 L3NwYW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1b3Q7c2V0JnF1b3Q7IGRhdGE9JnF1 b3Q7aGFuZ3VwX2FmdGVyX2JyaWRnZT10cnVlJnF1b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+CjxkaXY+ PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4J CQk8L3NwYW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1b3Q7c2V0JnF1b3Q7IGRhdGE9 JnF1b3Q7Y29udGludWVfb25fZmFpbD0xOSZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZv bnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8 L3NwYW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1b3Q7YnJpZGdlJnF1b3Q7IGRhdGE9 JnF1b3Q7c29maWEvZ2F0ZXdheS9yZW1vdGVfb3V0Ym91bmRfcGVlci8ke2Rlc3RpbmF0aW9uX251 bWJlcn0mcXVvdDsvJmd0OzwvZm9udD48L2Rpdj4KPGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48 c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gwqAgJmx0O2FjdGlv biBhcHBsaWNhdGlvbj0mcXVvdDt0cmFuc2ZlciZxdW90OyBkYXRhPSZxdW90OzQwOHRvNTAzJnF1 b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHls ZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gJmx0Oy9jb25kaXRpb24mZ3Q7PC9m b250PjwvZGl2Pgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+CQk8L3NwYW4+IMKgICZsdDsvZXh0ZW5zaW9uJmd0OzxzcGFuIHN0eWxl PSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+CQkJCTwvc3Bhbj4gwqDCoDwvZm9udD48L2Rpdj48ZGl2 Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+ CQk8L3NwYW4+IMKgICZsdDshLS1JU0ROIENBVSAzNCAtLSZndDs8L2ZvbnQ+PC9kaXY+CjxkaXY+ PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4J CTwvc3Bhbj4gwqAgJmx0O2V4dGVuc2lvbiBuYW1lPSZxdW90OzQwOHRvNTAzJnF1b3Q7Jmd0Ozwv Zm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+CQkJPC9zcGFuPiAmbHQ7Y29uZGl0aW9uIGZpZWxkPSZxdW90OyR7cHJv dG9fc3BlY2lmaWNfaGFuZ3VwX2NhdXNlfSZxdW90OyBleHByZXNzaW9uPSZxdW90OyZsdDthIGhy ZWY9JnF1b3Q7PGE+c2lwOjQwODwvYT4mcXVvdDsmZ3Q7c2lwOjQwOCZxdW90OyZndDs8L2ZvbnQ+ PC9kaXY+CjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNl OnByZS13cmFwIj4JCQk8L3NwYW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1b3Q7c2V0 JnF1b3Q7IGRhdGE9JnF1b3Q7c2lwX2lnbm9yZV9yZW1vdGVfY2F1c2U9dHJ1ZSZxdW90Oy8mZ3Q7 PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRl LXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1 b3Q7cmVzcG9uZCZxdW90OyBkYXRhPSZxdW90OzUwMyZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2Pgo8 ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3Jh cCI+CQkJPC9zcGFuPiDCoCAmbHQ7YWN0aW9uIGFwcGxpY2F0aW9uPSZxdW90O2hhbmd1cCZxdW90 OyBkYXRhPSZxdW90O05PUk1BTF9DSVJDVUlUX0NPTkdFU1RJT04mcXVvdDsvJmd0OzwvZm9udD48 L2Rpdj48ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpw cmUtd3JhcCI+CQkJPC9zcGFuPiAmbHQ7L2NvbmRpdGlvbiZndDs8L2ZvbnQ+PC9kaXY+CjxkaXY+ PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4J CTwvc3Bhbj4gwqAgJmx0Oy9leHRlbnNpb24mZ3Q7IMKgwqA8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9u dCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgk8L3Nw YW4+PC9mb250PjwvZGl2PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pgo8ZGl2 Pjxicj48L2Rpdj48ZGl2PjxkaXY+SG93IHRvIGNvcnJlY3RseSByZW1hcCBjYXVzZXM/PC9kaXY+ PC9kaXY+PGRpdj5JZiB0aGVyZSBpcyBubyB3YXkgdG8gY2hhbmdlIG5vcm1hbCBiZWhhdmlvdXIs IGRvIHlvdSB0aGluayBjb3VsZCBiZSBwb3NzaWJsZSBhbHNvIHRvIGNoYW5nZSB0aGUgc291cmNl IGNvZGUgYW5kIHJlY29tcGlsZSBGUyBhY2NvcmRseT88L2Rpdj48ZGl2Pjxicj4KPC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj5UaGFuayB5byBzbyBtdWNoIGFuZCBzb3JyeSBmb3IgdGhpcyBsb25n IHBvc3Q8L2Rpdj48ZGl2PkkgaG9wZSBzb21lb25lIGNvdWxkIGhlbHA8L2Rpdj48ZGl2Pk1heDwv ZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpQcm9mZXNzaW9uYWwgRnJlZVNXSVRD SCBDb25zdWx0aW5nIFNlcnZpY2VzOjxicj4KPGEgaHJlZj0ibWFpbHRvOmNvbnN1bHRpbmdAZnJl ZXN3aXRjaC5vcmciPmNvbnN1bHRpbmdAZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJo dHRwOi8vd3d3LmZyZWVzd2l0Y2hzb2x1dGlvbnMuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L3d3dy5mcmVlc3dpdGNoc29sdXRpb25zLmNvbTwvYT48YnI+Cjxicj4KT2ZmaWNpYWwgRnJlZVNX SVRDSCBTaXRlczxicj4KPGEgaHJlZj0iaHR0cDovL3d3dy5mcmVlc3dpdGNoLm9yZyIgdGFyZ2V0 PSJfYmxhbmsiPmh0dHA6Ly93d3cuZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRw Oi8vY29uZmx1ZW5jZS5mcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9jb25m bHVlbmNlLmZyZWVzd2l0Y2gub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cDovL3d3dy5jbHVlY29u LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuY2x1ZWNvbi5jb208L2E+PGJyPgo8YnI+ CkZyZWVTV0lUQ0gtcG93ZXJlZCBJUCBQQlg6IFRoZSBDdWRhVGVsIENvbW11bmljYXRpb24gU2Vy dmVyPGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmN1ZGF0ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL3d3dy5jdWRhdGVsLmNvbTwvYT48YnI+Cjxicj4KRnJlZVNXSVRDSC11c2VycyBtYWls aW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpGcmVlU1dJVENILXVzZXJzQGxpc3RzLmZyZWVz d2l0Y2gub3JnIj5GcmVlU1dJVENILXVzZXJzQGxpc3RzLmZyZWVzd2l0Y2gub3JnPC9hPjxicj4K PGEgaHJlZj0iaHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3JnL21haWxtYW4vbGlzdGluZm8vZnJl ZXN3aXRjaC11c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5mcmVlc3dpdGNoLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVzd2l0Y2gtdXNlcnM8L2E+PGJyPgpVTlNVQlNDUklCRTo8 YSBocmVmPSJodHRwOi8vbGlzdHMuZnJlZXN3aXRjaC5vcmcvbWFpbG1hbi9vcHRpb25zL2ZyZWVz d2l0Y2gtdXNlcnMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMuZnJlZXN3aXRjaC5vcmcv bWFpbG1hbi9vcHRpb25zL2ZyZWVzd2l0Y2gtdXNlcnM8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8v d3d3LmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5mcmVlc3dpdGNo Lm9yZzwvYT48YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGRpdj48 YnI+PC9kaXY+LS0gPGJyPjxkaXYgZGlyPSJsdHIiPgoKCgoKCgoKPHA+PGZvbnQgZmFjZT0iY291 cmllciBuZXcsIG1vbm9zcGFjZSI+PGI+PGk+PGZvbnQgc2l6ZT0iNCI+QnJpYW4gV2VzdDwvZm9u dD48L2k+PC9iPjxicj48c3BhbiBzdHlsZT0iZm9udC1zaXplOngtc21hbGwiPjxhIGhyZWY9Im1h aWx0bzpicmlhbkBmcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmJyaWFuQGZyZWVzd2l0 Y2gub3JnPC9hPjwvc3Bhbj48L2ZvbnQ+PC9wPgo8cD48Zm9udCBzaXplPSIxIiBmYWNlPSJjb3Vy aWVyIG5ldywgbW9ub3NwYWNlIj48aW1nIHNyYz0iaHR0cDovL2Jrdy5vcmcvd2htY3Nsb2dvLnBu ZyI+PGJyPjwvZm9udD48L3A+PHA+PGZvbnQgZmFjZT0iY291cmllciBuZXcsIG1vbm9zcGFjZSI+ PGI+PGk+VHdpdHRlcjogQEZyZWVTV0lUQ0ggLCBAYnJpYW5rd2VzdDwvaT48L2I+PGJyPjxhIGhy ZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaGJvb2suY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov L3d3dy5mcmVlc3dpdGNoYm9vay5jb208L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmZyZWVz d2l0Y2hjb29rYm9vay5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0Y2hj b29rYm9vay5jb208L2E+PC9mb250PjwvcD4KPHA+PGZvbnQgZmFjZT0iY291cmllciBuZXcsIG1v bm9zcGFjZSI+PGI+VDo8L2I+KzE5MTg0MjA5MDAxIHwgPGI+Rjo8L2I+KzE5MTg0MjA5MDAyIHwg PGI+TTo8L2I+KzE5MTg0MjRXRVNUICg5Mzc4KTxicj48Yj5pTlVNOjwvYj4rODgzIDUxMDAgMTQy MCA5MDAxIHzCoDxiPklTTjo8L2I+NDEwKjU0MyB8wqA8Yj5Ta3lwZTo8L2I+YnJpYW5rd2VzdDwv Zm9udD48L3A+PC9kaXY+CjwvZGl2Pgo= --===============2933306640579760974==-- From mvar78@gmail.com Wed Sep 3 16:45:30 2014 From: Massimo Varriale To: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] RECOVERY_ON_TIMER_EXPIRE + Changing Hangup Cause Date: Wed, 03 Sep 2014 14:44:59 +0200 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9068587564150594214==" --===============9068587564150594214== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Brian, thanks for answering me! Actually I'm sure (or better quite sure) it's not something related to NAT as all the end points are using plain public IP addresses. They are some dedicated servers under OVH provider and they just use IPTABLES and FS ACL for allowing communications each other (this means no hard-FW) The scenario could be easily explained like this: Inbound (Public) + My FS 1.4 (Public) + Outbound (TELES Switch with Public IP Voip Card + PSTN E1 Interconnections) And also the FS is started with option -nonat, does this affect ? Thank you so much Max 2014-09-03 14:34 GMT+02:00 Brian West : > RECOVERY_ON_TIMER_EXPIRE usually means you have a NAT issue, can you > clarify your signaling paths? > > > On Wed, Sep 3, 2014 at 6:01 AM, Massimo Varriale wrote: > >> Hi All! >> This is my first question...and what question... >> I'm a skilled developer and I'm almost familiar with telephony in general >> since it's 15 years experience in telco companies. However I'm still facing >> a problem I couldn't find any solution yet and i hope someone could help in >> finding a solution >> >> >> As my present company can't afford an expensive soft switch I'm using *Fre= eswitch >> 1.4* with a simple *dialplan.xml* and some scripts to load *CDRs into >> mysql* to send incoming calls to my remote peers. At present the live >> traffic is only *1 incoming IP* and *1 outgoing peer*, quite easy. >> >> On some calls I'm getting "408 Request Timeout" and FS is giving me >> a RECOVERY_ON_TIMER_EXPIRE cause (IDSN 102). The problem is that as most of >> the switches are not able to make automatic rerouting based on this cause >> and so, I will like to use instead the ISDN Cause 18 (I suppose "480 >> Temporarily unavailable"). >> Is this possible? >> >> >> I've used this snippet of code that use another relcause but with same >> concept (taken as is and pasted into the dialplan) but doesn't work as the >> 408 is given after 183. >> >> >> >> >> >> >> > data=3D"sofia/gateway/remote_outbound_peer/${destination_number}"/> >> >> >> >> >> >> > sip:408">sip:408"> >> >> >> >> >> >> >> >> >> How to correctly remap causes? >> If there is no way to change normal behaviour, do you think could be >> possible also to change the source code and recompile FS accordly? >> >> >> Thank yo so much and sorry for this long post >> I hope someone could help >> Max >> >> _________________________________________________________________________ >> Professional FreeSWITCH Consulting Services: >> consulting@freeswitch.org >> http://www.freeswitchsolutions.com >> >> Official FreeSWITCH Sites >> http://www.freeswitch.org >> http://confluence.freeswitch.org >> http://www.cluecon.com >> >> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >> http://www.cudatel.com >> >> FreeSWITCH-users mailing list >> FreeSWITCH-users@lists.freeswitch.org >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users >> http://www.freeswitch.org >> > > > > -- > > *Brian West* > brian@freeswitch.org > > > *Twitter: @FreeSWITCH , @briankwest* > http://www.freeswitchbook.com > http://www.freeswitchcookbook.com > > *T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378) > *iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest > > _________________________________________________________________________ > Professional FreeSWITCH Consulting Services: > consulting@freeswitch.org > http://www.freeswitchsolutions.com > > Official FreeSWITCH Sites > http://www.freeswitch.org > http://confluence.freeswitch.org > http://www.cluecon.com > > FreeSWITCH-powered IP PBX: The CudaTel Communication Server > http://www.cudatel.com > > FreeSWITCH-users mailing list > FreeSWITCH-users@lists.freeswitch.org > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users > http://www.freeswitch.org > --===============9068587564150594214== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGRpdiBkaXI9Imx0ciI+SGkgQnJpYW4sPGRpdj50aGFua3MgZm9yIGFuc3dlcmluZyBtZSE8YnI+ PGRpdj5BY3R1YWxseSBJJiMzOTttIHN1cmUgKG9yIGJldHRlciBxdWl0ZSBzdXJlKSBpdCYjMzk7 cyBub3Qgc29tZXRoaW5nIHJlbGF0ZWQgdG8gTkFUIGFzIGFsbCB0aGUgZW5kIHBvaW50cyBhcmUg dXNpbmcgcGxhaW4gcHVibGljIElQIGFkZHJlc3Nlcy48L2Rpdj48ZGl2PlRoZXkgYXJlIHNvbWUg ZGVkaWNhdGVkIHNlcnZlcnMgdW5kZXIgT1ZIIHByb3ZpZGVyIGFuZCB0aGV5IGp1c3QgdXNlIElQ VEFCTEVTIGFuZCBGUyBBQ0wgZm9yIGFsbG93aW5nIGNvbW11bmljYXRpb25zIGVhY2ggb3RoZXIg KHRoaXMgbWVhbnMgbm8gaGFyZC1GVyk8L2Rpdj4KPGRpdj48YnI+PC9kaXY+PGRpdj5UaGUgc2Nl bmFyaW8gY291bGQgYmUgZWFzaWx5IGV4cGxhaW5lZCBsaWtlIHRoaXM6PC9kaXY+PGRpdj5JbmJv dW5kIChQdWJsaWMpICsgTXkgRlMgMS40IChQdWJsaWMpICsgT3V0Ym91bmQgKFRFTEVTIFN3aXRj aCB3aXRoIFB1YmxpYyBJUCBWb2lwIENhcmQgKyBQU1ROIEUxIEludGVyY29ubmVjdGlvbnMpPC9k aXY+PGRpdj48YnI+PC9kaXY+PGRpdj4KQW5kIGFsc28gdGhlIEZTIGlzIHN0YXJ0ZWQgd2l0aCBv cHRpb24gLW5vbmF0LCBkb2VzIHRoaXMgYWZmZWN0ID88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2 PlRoYW5rIHlvdSBzbyBtdWNoPC9kaXY+PC9kaXY+PGRpdj5NYXg8L2Rpdj48L2Rpdj48ZGl2IGNs YXNzPSJnbWFpbF9leHRyYSI+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+MjAxNC0w OS0wMyAxNDozNCBHTVQrMDI6MDAgQnJpYW4gV2VzdCA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhy ZWY9Im1haWx0bzpicmlhbkBmcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmJyaWFuQGZy ZWVzd2l0Y2gub3JnPC9hPiZndDs8L3NwYW4+Ojxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWls X3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29s aWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBkaXI9Imx0ciI+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzLjMzMzMzMzk2OTExNjJweCI+UkVDT1ZF UllfT05fVElNRVJfRVhQSVJFIHVzdWFsbHkgbWVhbnMgeW91IGhhdmUgYSBOQVQgaXNzdWUsIGNh biB5b3UgY2xhcmlmeSB5b3VyIHNpZ25hbGluZyBwYXRocz88L3NwYW4+PGJyPgo8L2Rpdj48ZGl2 IGNsYXNzPSJnbWFpbF9leHRyYSI+Cjxicj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9u IFdlZCwgU2VwIDMsIDIwMTQgYXQgNjowMSBBTSwgTWFzc2ltbyBWYXJyaWFsZSA8c3BhbiBkaXI9 Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzptdmFyNzhAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFu ayI+bXZhcjc4QGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUg Y2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6 MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+Cgo8ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6 YnJlYWstd29yZCI+SGkgQWxsITxkaXY+VGhpcyBpcyBteSBmaXJzdCBxdWVzdGlvbi4uLmFuZCB3 aGF0IHF1ZXN0aW9uLi4uPC9kaXY+PGRpdj5JJiMzOTttIGEgc2tpbGxlZCBkZXZlbG9wZXIgYW5k IEkmIzM5O20gYWxtb3N0IGZhbWlsaWFyIHdpdGggdGVsZXBob255IGluIGdlbmVyYWwgc2luY2Ug aXQmIzM5O3MgMTUgeWVhcnMgZXhwZXJpZW5jZSBpbiB0ZWxjbyBjb21wYW5pZXMuwqBIb3dldmVy IEkmIzM5O20gc3RpbGwgZmFjaW5nIGEgcHJvYmxlbSBJIGNvdWxkbiYjMzk7dCBmaW5kIGFueSBz b2x1dGlvbiB5ZXQgYW5kIGkgaG9wZSBzb21lb25lIGNvdWxkIGhlbHAgaW4gZmluZGluZyBhIHNv bHV0aW9uPC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkFzIG15IHBy ZXNlbnQgY29tcGFueSBjYW4mIzM5O3QgYWZmb3JkIGFuIGV4cGVuc2l2ZSBzb2Z0IHN3aXRjaCBJ JiMzOTttIHVzaW5nIDxiPkZyZWVzd2l0Y2ggMS40PC9iPiB3aXRoIGEgc2ltcGxlIDxiPmRpYWxw bGFuLnhtbDwvYj4gYW5kIHNvbWUgc2NyaXB0cyB0byBsb2FkIDxiPkNEUnMgaW50byBteXNxbDwv Yj4gdG8gc2VuZCBpbmNvbWluZyBjYWxscyB0byBteSByZW1vdGUgcGVlcnMuIEF0IHByZXNlbnQg dGhlIGxpdmUgdHJhZmZpYyBpcyBvbmx5IDxiPjEgaW5jb21pbmcgSVA8L2I+IMKgYW5kIDxiPjEg b3V0Z29pbmcgcGVlcjwvYj4sIHF1aXRlIGVhc3kuPC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2 Pk9uIHNvbWUgY2FsbHMgSSYjMzk7bSBnZXR0aW5nICZxdW90OzQwOMKgUmVxdWVzdCBUaW1lb3V0 JnF1b3Q7IGFuZCBGUyBpcyBnaXZpbmcgbWUgYcKgUkVDT1ZFUllfT05fVElNRVJfRVhQSVJFIGNh dXNlIChJRFNOIDEwMikuIFRoZSBwcm9ibGVtIGlzIHRoYXQgYXMgbW9zdCBvZiB0aGUgc3dpdGNo ZXMgYXJlIG5vdCBhYmxlIHRvIG1ha2UgYXV0b21hdGljIHJlcm91dGluZyBiYXNlZCBvbiB0aGlz IGNhdXNlIGFuZCBzbywgSSB3aWxsIGxpa2UgdG8gdXNlIGluc3RlYWQgdGhlIElTRE4gQ2F1c2Ug MTggKEkgc3VwcG9zZSAmcXVvdDs0ODAgVGVtcG9yYXJpbHkgdW5hdmFpbGFibGUmcXVvdDspLjwv ZGl2PgoKPGRpdj5JcyB0aGlzIHBvc3NpYmxlPzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJy PjwvZGl2PjxkaXY+SSYjMzk7dmUgdXNlZCB0aGlzIHNuaXBwZXQgb2YgY29kZSB0aGF0IHVzZSBh bm90aGVyIHJlbGNhdXNlIGJ1dCB3aXRoIHNhbWUgY29uY2VwdCAodGFrZW4gYXMgaXMgYW5kIHBh c3RlZCBpbnRvIHRoZSBkaWFscGxhbikgYnV0IGRvZXNuJiMzOTt0IHdvcmsgYXMgdGhlIDQwOCBp cyBnaXZlbiBhZnRlciAxODMuPC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+PGZvbnQg ZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCTwvc3Bh bj4gwqAmbHQ7ZXh0ZW5zaW9uIG5hbWU9JnF1b3Q7QWxsRGVzdGluYXRpb25zX0luYm91bmQmcXVv dDsmZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9 IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+ICZsdDtjb25kaXRpb24gZmllbGQ9JnF1 b3Q7ZGVzdGluYXRpb25fbnVtYmVyJnF1b3Q7IGV4cHJlc3Npb249JnF1b3Q7XiZxdW90OyZndDs8 L2ZvbnQ+PC9kaXY+Cgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0 ZS1zcGFjZTpwcmUtd3JhcCI+CQkJPC9zcGFuPiAmbHQ7Y29uZGl0aW9uIGZpZWxkPSZxdW90O25l dHdvcmtfYWRkciZxdW90OyBleHByZXNzaW9uPSZxdW90O14xNTRcLjQ4XC4xOThcLjE5MCQmcXVv dDsvJmd0OzwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxl PSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+CQkJPC9zcGFuPiDCoCAmbHQ7YWN0aW9uIGFwcGxpY2F0 aW9uPSZxdW90O3NldCZxdW90OyBkYXRhPSZxdW90O2hhbmd1cF9hZnRlcl9icmlkZ2U9dHJ1ZSZx dW90Oy8mZ3Q7PC9mb250PjwvZGl2PgoKPGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBz dHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gwqAgJmx0O2FjdGlvbiBhcHBs aWNhdGlvbj0mcXVvdDtzZXQmcXVvdDsgZGF0YT0mcXVvdDtjb250aW51ZV9vbl9mYWlsPTE5JnF1 b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHls ZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gwqAgJmx0O2FjdGlvbiBhcHBsaWNh dGlvbj0mcXVvdDticmlkZ2UmcXVvdDsgZGF0YT0mcXVvdDtzb2ZpYS9nYXRld2F5L3JlbW90ZV9v dXRib3VuZF9wZWVyLyR7ZGVzdGluYXRpb25fbnVtYmVyfSZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2 PgoKPGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJl LXdyYXAiPgkJCTwvc3Bhbj4gwqAgJmx0O2FjdGlvbiBhcHBsaWNhdGlvbj0mcXVvdDt0cmFuc2Zl ciZxdW90OyBkYXRhPSZxdW90OzQwOHRvNTAzJnF1b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48 Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJ CTwvc3Bhbj4gJmx0Oy9jb25kaXRpb24mZ3Q7PC9mb250PjwvZGl2PgoKPGRpdj48Zm9udCBmYWNl PSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJPC9zcGFuPiDC oCAmbHQ7L2V4dGVuc2lvbiZndDs8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJ CQk8L3NwYW4+IMKgwqA8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3Bh biBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJPC9zcGFuPiDCoCAmbHQ7IS0tSVNETiBD QVUgMzQgLS0mZ3Q7PC9mb250PjwvZGl2PgoKPGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3Bh biBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJPC9zcGFuPiDCoCAmbHQ7ZXh0ZW5zaW9u IG5hbWU9JnF1b3Q7NDA4dG81MDMmcXVvdDsmZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFj ZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+ ICZsdDtjb25kaXRpb24gZmllbGQ9JnF1b3Q7JHtwcm90b19zcGVjaWZpY19oYW5ndXBfY2F1c2V9 JnF1b3Q7IGV4cHJlc3Npb249JnF1b3Q7Jmx0O2EgaHJlZj0mcXVvdDs8YT5zaXA6NDA4PC9hPiZx dW90OyZndDtzaXA6NDA4JnF1b3Q7Jmd0OzwvZm9udD48L2Rpdj4KCjxkaXY+PGZvbnQgZmFjZT0i Q291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+IMKg ICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1b3Q7c2V0JnF1b3Q7IGRhdGE9JnF1b3Q7c2lwX2ln bm9yZV9yZW1vdGVfY2F1c2U9dHJ1ZSZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg ZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3Nw YW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRpb249JnF1b3Q7cmVzcG9uZCZxdW90OyBkYXRhPSZx dW90OzUwMyZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2PgoKPGRpdj48Zm9udCBmYWNlPSJDb3VyaWVy Ij48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gwqAgJmx0O2Fj dGlvbiBhcHBsaWNhdGlvbj0mcXVvdDtoYW5ndXAmcXVvdDsgZGF0YT0mcXVvdDtOT1JNQUxfQ0lS Q1VJVF9DT05HRVNUSU9OJnF1b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJD b3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gJmx0 Oy9jb25kaXRpb24mZ3Q7PC9mb250PjwvZGl2PgoKPGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48 c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJPC9zcGFuPiDCoCAmbHQ7L2V4dGVu c2lvbiZndDsgwqDCoDwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFu IHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+CTwvc3Bhbj48L2ZvbnQ+PC9kaXY+PC9kaXY+ PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+Cgo8ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+ SG93IHRvIGNvcnJlY3RseSByZW1hcCBjYXVzZXM/PC9kaXY+PC9kaXY+PGRpdj5JZiB0aGVyZSBp cyBubyB3YXkgdG8gY2hhbmdlIG5vcm1hbCBiZWhhdmlvdXIsIGRvIHlvdSB0aGluayBjb3VsZCBi ZSBwb3NzaWJsZSBhbHNvIHRvIGNoYW5nZSB0aGUgc291cmNlIGNvZGUgYW5kIHJlY29tcGlsZSBG UyBhY2NvcmRseT88L2Rpdj48ZGl2Pjxicj4KCjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhh bmsgeW8gc28gbXVjaCBhbmQgc29ycnkgZm9yIHRoaXMgbG9uZyBwb3N0PC9kaXY+PGRpdj5JIGhv cGUgc29tZW9uZSBjb3VsZCBoZWxwPC9kaXY+PGRpdj5NYXg8L2Rpdj48L2Rpdj48YnI+X19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzxicj4KUHJvZmVzc2lvbmFsIEZyZWVTV0lUQ0ggQ29uc3VsdGluZyBTZXJ2aWNl czo8YnI+CjxhIGhyZWY9Im1haWx0bzpjb25zdWx0aW5nQGZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9 Il9ibGFuayI+Y29uc3VsdGluZ0BmcmVlc3dpdGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6 Ly93d3cuZnJlZXN3aXRjaHNvbHV0aW9ucy5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3 LmZyZWVzd2l0Y2hzb2x1dGlvbnMuY29tPC9hPjxicj4KPGJyPgpPZmZpY2lhbCBGcmVlU1dJVENI IFNpdGVzPGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL3d3dy5mcmVlc3dpdGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly9j b25mbHVlbmNlLmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2NvbmZsdWVu Y2UuZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmNsdWVjb24uY29t IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5jbHVlY29uLmNvbTwvYT48YnI+Cjxicj4KRnJl ZVNXSVRDSC1wb3dlcmVkIElQIFBCWDogVGhlIEN1ZGFUZWwgQ29tbXVuaWNhdGlvbiBTZXJ2ZXI8 YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuY3VkYXRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRw Oi8vd3d3LmN1ZGF0ZWwuY29tPC9hPjxicj4KPGJyPgpGcmVlU1dJVENILXVzZXJzIG1haWxpbmcg bGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOkZyZWVTV0lUQ0gtdXNlcnNAbGlzdHMuZnJlZXN3aXRj aC5vcmciIHRhcmdldD0iX2JsYW5rIj5GcmVlU1dJVENILXVzZXJzQGxpc3RzLmZyZWVzd2l0Y2gu b3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3JnL21haWxtYW4v bGlzdGluZm8vZnJlZXN3aXRjaC11c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5m cmVlc3dpdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVzd2l0Y2gtdXNlcnM8L2E+PGJyPgpV TlNVQlNDUklCRTo8YSBocmVmPSJodHRwOi8vbGlzdHMuZnJlZXN3aXRjaC5vcmcvbWFpbG1hbi9v cHRpb25zL2ZyZWVzd2l0Y2gtdXNlcnMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMuZnJl ZXN3aXRjaC5vcmcvbWFpbG1hbi9vcHRpb25zL2ZyZWVzd2l0Y2gtdXNlcnM8L2E+PGJyPgo8YSBo cmVmPSJodHRwOi8vd3d3LmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3 dy5mcmVlc3dpdGNoLm9yZzwvYT48YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9 ImFsbCI+PGRpdj48YnI+PC9kaXY+LS0gPGJyPjxkaXYgZGlyPSJsdHIiPgoKCgoKCgoKPHA+PGZv bnQgZmFjZT0iY291cmllciBuZXcsIG1vbm9zcGFjZSI+PGI+PGk+PGZvbnQgc2l6ZT0iNCI+QnJp YW4gV2VzdDwvZm9udD48L2k+PC9iPjxicj48c3BhbiBzdHlsZT0iZm9udC1zaXplOngtc21hbGwi PjxhIGhyZWY9Im1haWx0bzpicmlhbkBmcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmJy aWFuQGZyZWVzd2l0Y2gub3JnPC9hPjwvc3Bhbj48L2ZvbnQ+PC9wPgo8cD48Zm9udCBzaXplPSIx IiBmYWNlPSJjb3VyaWVyIG5ldywgbW9ub3NwYWNlIj48aW1nIHNyYz0iaHR0cDovL2Jrdy5vcmcv d2htY3Nsb2dvLnBuZyI+PGJyPjwvZm9udD48L3A+PHA+PGZvbnQgZmFjZT0iY291cmllciBuZXcs IG1vbm9zcGFjZSI+PGI+PGk+VHdpdHRlcjogQEZyZWVTV0lUQ0ggLCBAYnJpYW5rd2VzdDwvaT48 L2I+PGJyPjxhIGhyZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaGJvb2suY29tIiB0YXJnZXQ9Il9i bGFuayI+aHR0cDovL3d3dy5mcmVlc3dpdGNoYm9vay5jb208L2E+PGJyPgoKPGEgaHJlZj0iaHR0 cDovL3d3dy5mcmVlc3dpdGNoY29va2Jvb2suY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3 dy5mcmVlc3dpdGNoY29va2Jvb2suY29tPC9hPjwvZm9udD48L3A+CjxwPjxmb250IGZhY2U9ImNv dXJpZXIgbmV3LCBtb25vc3BhY2UiPjxiPlQ6PC9iPisxOTE4NDIwOTAwMSB8IDxiPkY6PC9iPisx OTE4NDIwOTAwMiB8IDxiPk06PC9iPisxOTE4NDI0V0VTVCAoOTM3OCk8YnI+PGI+aU5VTTo8L2I+ Kzg4MyA1MTAwIDE0MjAgOTAwMSB8wqA8Yj5JU046PC9iPjQxMCo1NDMgfMKgPGI+U2t5cGU6PC9i PmJyaWFua3dlc3Q8L2ZvbnQ+PC9wPjwvZGl2Pgo8L2Rpdj4KPGJyPl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnI+ClByb2Zlc3Npb25hbCBGcmVlU1dJVENIIENvbnN1bHRpbmcgU2VydmljZXM6PGJyPgo8YSBo cmVmPSJtYWlsdG86Y29uc3VsdGluZ0BmcmVlc3dpdGNoLm9yZyI+Y29uc3VsdGluZ0BmcmVlc3dp dGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaHNvbHV0aW9ucy5j b20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0Y2hzb2x1dGlvbnMuY29tPC9h Pjxicj4KPGJyPgpPZmZpY2lhbCBGcmVlU1dJVENIIFNpdGVzPGJyPgo8YSBocmVmPSJodHRwOi8v d3d3LmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5mcmVlc3dpdGNo Lm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly9jb25mbHVlbmNlLmZyZWVzd2l0Y2gub3JnIiB0 YXJnZXQ9Il9ibGFuayI+aHR0cDovL2NvbmZsdWVuY2UuZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8 YSBocmVmPSJodHRwOi8vd3d3LmNsdWVjb24uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3 dy5jbHVlY29uLmNvbTwvYT48YnI+Cjxicj4KRnJlZVNXSVRDSC1wb3dlcmVkIElQIFBCWDogVGhl IEN1ZGFUZWwgQ29tbXVuaWNhdGlvbiBTZXJ2ZXI8YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuY3Vk YXRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmN1ZGF0ZWwuY29tPC9hPjxicj4K PGJyPgpGcmVlU1dJVENILXVzZXJzIG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOkZy ZWVTV0lUQ0gtdXNlcnNAbGlzdHMuZnJlZXN3aXRjaC5vcmciPkZyZWVTV0lUQ0gtdXNlcnNAbGlz dHMuZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMuZnJlZXN3aXRj aC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlc3dpdGNoLXVzZXJzIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZXN3aXRjaC11 c2VyczwvYT48YnI+ClVOU1VCU0NSSUJFOjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5mcmVlc3dpdGNo Lm9yZy9tYWlsbWFuL29wdGlvbnMvZnJlZXN3aXRjaC11c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHA6Ly9saXN0cy5mcmVlc3dpdGNoLm9yZy9tYWlsbWFuL29wdGlvbnMvZnJlZXN3aXRjaC11c2Vy czwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaC5vcmciIHRhcmdldD0iX2Js YW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0Y2gub3JnPC9hPjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+ PGJyPjwvZGl2Pgo= --===============9068587564150594214==-- From grcamauer@gmail.com Wed Sep 3 21:42:39 2014 From: Guillermo Ruiz Camauer To: freeswitch-users@lists.freeswitch.org Subject: Re: [Freeswitch-users] RECOVERY_ON_TIMER_EXPIRE + Changing Hangup Cause Date: Wed, 03 Sep 2014 14:42:08 -0300 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2146279862057209803==" --===============2146279862057209803== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable I have gotten RECOVERY_ON_TIMER_EXPIRE cause (IDSN 102) from my provider by just letting the phone ring for too long (and no answering service). Could that be the cause? Guillermo On Wed, Sep 3, 2014 at 9:44 AM, Massimo Varriale wrote: > Hi Brian, > thanks for answering me! > Actually I'm sure (or better quite sure) it's not something related to NAT > as all the end points are using plain public IP addresses. > They are some dedicated servers under OVH provider and they just use > IPTABLES and FS ACL for allowing communications each other (this means no > hard-FW) > > The scenario could be easily explained like this: > Inbound (Public) + My FS 1.4 (Public) + Outbound (TELES Switch with Public > IP Voip Card + PSTN E1 Interconnections) > > And also the FS is started with option -nonat, does this affect ? > > Thank you so much > Max > > > 2014-09-03 14:34 GMT+02:00 Brian West : > > RECOVERY_ON_TIMER_EXPIRE usually means you have a NAT issue, can you >> clarify your signaling paths? >> >> >> On Wed, Sep 3, 2014 at 6:01 AM, Massimo Varriale >> wrote: >> >>> Hi All! >>> This is my first question...and what question... >>> I'm a skilled developer and I'm almost familiar with telephony in >>> general since it's 15 years experience in telco companies. However I'm >>> still facing a problem I couldn't find any solution yet and i hope someone >>> could help in finding a solution >>> >>> >>> As my present company can't afford an expensive soft switch I'm using *Fr= eeswitch >>> 1.4* with a simple *dialplan.xml* and some scripts to load *CDRs into >>> mysql* to send incoming calls to my remote peers. At present the live >>> traffic is only *1 incoming IP* and *1 outgoing peer*, quite easy. >>> >>> On some calls I'm getting "408 Request Timeout" and FS is giving me >>> a RECOVERY_ON_TIMER_EXPIRE cause (IDSN 102). The problem is that as most = of >>> the switches are not able to make automatic rerouting based on this cause >>> and so, I will like to use instead the ISDN Cause 18 (I suppose "480 >>> Temporarily unavailable"). >>> Is this possible? >>> >>> >>> I've used this snippet of code that use another relcause but with same >>> concept (taken as is and pasted into the dialplan) but doesn't work as the >>> 408 is given after 183. >>> >>> >>> >>> >>> >>> >>> >> data=3D"sofia/gateway/remote_outbound_peer/${destination_number}"/> >>> >>> >>> >>> >>> >>> >> sip:408">sip:408"> >>> >>> >>> >>> >>> >>> >>> >>> >>> How to correctly remap causes? >>> If there is no way to change normal behaviour, do you think could be >>> possible also to change the source code and recompile FS accordly? >>> >>> >>> Thank yo so much and sorry for this long post >>> I hope someone could help >>> Max >>> >>> _________________________________________________________________________ >>> Professional FreeSWITCH Consulting Services: >>> consulting@freeswitch.org >>> http://www.freeswitchsolutions.com >>> >>> Official FreeSWITCH Sites >>> http://www.freeswitch.org >>> http://confluence.freeswitch.org >>> http://www.cluecon.com >>> >>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >>> http://www.cudatel.com >>> >>> FreeSWITCH-users mailing list >>> FreeSWITCH-users@lists.freeswitch.org >>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users >>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users >>> http://www.freeswitch.org >>> >> >> >> >> -- >> >> *Brian West* >> brian@freeswitch.org >> >> >> *Twitter: @FreeSWITCH , @briankwest* >> http://www.freeswitchbook.com >> http://www.freeswitchcookbook.com >> >> *T:*+19184209001 | *F:*+19184209002 | *M:*+1918424WEST (9378) >> *iNUM:*+883 5100 1420 9001 | *ISN:*410*543 | *Skype:*briankwest >> >> _________________________________________________________________________ >> Professional FreeSWITCH Consulting Services: >> consulting@freeswitch.org >> http://www.freeswitchsolutions.com >> >> Official FreeSWITCH Sites >> http://www.freeswitch.org >> http://confluence.freeswitch.org >> http://www.cluecon.com >> >> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >> http://www.cudatel.com >> >> FreeSWITCH-users mailing list >> FreeSWITCH-users@lists.freeswitch.org >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users >> http://www.freeswitch.org >> > > > _________________________________________________________________________ > Professional FreeSWITCH Consulting Services: > consulting@freeswitch.org > http://www.freeswitchsolutions.com > > Official FreeSWITCH Sites > http://www.freeswitch.org > http://confluence.freeswitch.org > http://www.cluecon.com > > FreeSWITCH-powered IP PBX: The CudaTel Communication Server > http://www.cudatel.com > > FreeSWITCH-users mailing list > FreeSWITCH-users@lists.freeswitch.org > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users > http://www.freeswitch.org > --=20 Guillermo Ruiz Camauer --===============2146279862057209803== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGRpdiBkaXI9Imx0ciI+SSBoYXZlIGdvdHRlbsKgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFy aWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHgiPlJFQ09WRVJZX09OX1RJTUVSX0VYUElSRSBj YXVzZSAoSURTTiAxMDIpIGZyb20gbXkgcHJvdmlkZXIgYnkganVzdCBsZXR0aW5nIHRoZSBwaG9u ZSByaW5nIGZvciB0b28gbG9uZyAoYW5kIG5vIGFuc3dlcmluZyBzZXJ2aWNlKS4gwqBDb3VsZCB0 aGF0IGJlIHRoZSBjYXVzZT88L3NwYW4+PGRpdj4KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFy aWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHgiPjxicj48L3NwYW4+PC9kaXY+PGRpdj48c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTNweCI+R3Vp bGxlcm1vPC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGJy PjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj4KT24gV2VkLCBTZXAgMywgMjAxNCBhdCA5OjQ0IEFN LCBNYXNzaW1vIFZhcnJpYWxlIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOm12 YXI3OEBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5tdmFyNzhAZ21haWwuY29tPC9hPiZndDs8 L3NwYW4+IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJt YXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6 MWV4Ij4KPGRpdiBkaXI9Imx0ciI+SGkgQnJpYW4sPGRpdj50aGFua3MgZm9yIGFuc3dlcmluZyBt ZSE8YnI+PGRpdj5BY3R1YWxseSBJJiMzOTttIHN1cmUgKG9yIGJldHRlciBxdWl0ZSBzdXJlKSBp dCYjMzk7cyBub3Qgc29tZXRoaW5nIHJlbGF0ZWQgdG8gTkFUIGFzIGFsbCB0aGUgZW5kIHBvaW50 cyBhcmUgdXNpbmcgcGxhaW4gcHVibGljIElQIGFkZHJlc3Nlcy48L2Rpdj48ZGl2PlRoZXkgYXJl IHNvbWUgZGVkaWNhdGVkIHNlcnZlcnMgdW5kZXIgT1ZIIHByb3ZpZGVyIGFuZCB0aGV5IGp1c3Qg dXNlIElQVEFCTEVTIGFuZCBGUyBBQ0wgZm9yIGFsbG93aW5nIGNvbW11bmljYXRpb25zIGVhY2gg b3RoZXIgKHRoaXMgbWVhbnMgbm8gaGFyZC1GVyk8L2Rpdj4KCjxkaXY+PGJyPjwvZGl2PjxkaXY+ VGhlIHNjZW5hcmlvIGNvdWxkIGJlIGVhc2lseSBleHBsYWluZWQgbGlrZSB0aGlzOjwvZGl2Pjxk aXY+SW5ib3VuZCAoUHVibGljKSArIE15IEZTIDEuNCAoUHVibGljKSArIE91dGJvdW5kIChURUxF UyBTd2l0Y2ggd2l0aCBQdWJsaWMgSVAgVm9pcCBDYXJkICsgUFNUTiBFMSBJbnRlcmNvbm5lY3Rp b25zKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+CgpBbmQgYWxzbyB0aGUgRlMgaXMgc3RhcnRl ZCB3aXRoIG9wdGlvbiAtbm9uYXQsIGRvZXMgdGhpcyBhZmZlY3QgPzwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+VGhhbmsgeW91IHNvIG11Y2g8L2Rpdj48L2Rpdj48ZGl2Pk1heDwvZGl2PjwvZGl2 PjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3Rl Ij4yMDE0LTA5LTAzIDE0OjM0IEdNVCswMjowMCBCcmlhbiBXZXN0IDxzcGFuIGRpcj0ibHRyIj4m bHQ7PGEgaHJlZj0ibWFpbHRvOmJyaWFuQGZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+ YnJpYW5AZnJlZXN3aXRjaC5vcmc8L2E+Jmd0Ozwvc3Bhbj46PGRpdj4KPGRpdiBjbGFzcz0iaDUi Pjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAw IC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PGRpdiBk aXI9Imx0ciI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1z aXplOjEzLjMzMzMzMzk2OTExNjJweCI+UkVDT1ZFUllfT05fVElNRVJfRVhQSVJFIHVzdWFsbHkg bWVhbnMgeW91IGhhdmUgYSBOQVQgaXNzdWUsIGNhbiB5b3UgY2xhcmlmeSB5b3VyIHNpZ25hbGlu ZyBwYXRocz88L3NwYW4+PGJyPgoKPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPgo8YnI+ PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBXZWQsIFNlcCAzLCAyMDE0IGF0IDY6MDEg QU0sIE1hc3NpbW8gVmFycmlhbGUgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJtYWlsdG86 bXZhcjc4QGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPm12YXI3OEBnbWFpbC5jb208L2E+Jmd0 Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9 Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVm dDoxZXgiPgoKCjxkaXYgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj5IaSBBbGwhPGRpdj5U aGlzIGlzIG15IGZpcnN0IHF1ZXN0aW9uLi4uYW5kIHdoYXQgcXVlc3Rpb24uLi48L2Rpdj48ZGl2 PkkmIzM5O20gYSBza2lsbGVkIGRldmVsb3BlciBhbmQgSSYjMzk7bSBhbG1vc3QgZmFtaWxpYXIg d2l0aCB0ZWxlcGhvbnkgaW4gZ2VuZXJhbCBzaW5jZSBpdCYjMzk7cyAxNSB5ZWFycyBleHBlcmll bmNlIGluIHRlbGNvIGNvbXBhbmllcy7CoEhvd2V2ZXIgSSYjMzk7bSBzdGlsbCBmYWNpbmcgYSBw cm9ibGVtIEkgY291bGRuJiMzOTt0IGZpbmQgYW55IHNvbHV0aW9uIHlldCBhbmQgaSBob3BlIHNv bWVvbmUgY291bGQgaGVscCBpbiBmaW5kaW5nIGEgc29sdXRpb248L2Rpdj4KCgo8ZGl2Pjxicj48 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkFzIG15IHByZXNlbnQgY29tcGFueSBjYW4mIzM5O3Qg YWZmb3JkIGFuIGV4cGVuc2l2ZSBzb2Z0IHN3aXRjaCBJJiMzOTttIHVzaW5nIDxiPkZyZWVzd2l0 Y2ggMS40PC9iPiB3aXRoIGEgc2ltcGxlIDxiPmRpYWxwbGFuLnhtbDwvYj4gYW5kIHNvbWUgc2Ny aXB0cyB0byBsb2FkIDxiPkNEUnMgaW50byBteXNxbDwvYj4gdG8gc2VuZCBpbmNvbWluZyBjYWxs cyB0byBteSByZW1vdGUgcGVlcnMuIEF0IHByZXNlbnQgdGhlIGxpdmUgdHJhZmZpYyBpcyBvbmx5 IDxiPjEgaW5jb21pbmcgSVA8L2I+IMKgYW5kIDxiPjEgb3V0Z29pbmcgcGVlcjwvYj4sIHF1aXRl IGVhc3kuPC9kaXY+CgoKPGRpdj48YnI+PC9kaXY+PGRpdj5PbiBzb21lIGNhbGxzIEkmIzM5O20g Z2V0dGluZyAmcXVvdDs0MDjCoFJlcXVlc3QgVGltZW91dCZxdW90OyBhbmQgRlMgaXMgZ2l2aW5n IG1lIGHCoFJFQ09WRVJZX09OX1RJTUVSX0VYUElSRSBjYXVzZSAoSURTTiAxMDIpLiBUaGUgcHJv YmxlbSBpcyB0aGF0IGFzIG1vc3Qgb2YgdGhlIHN3aXRjaGVzIGFyZSBub3QgYWJsZSB0byBtYWtl IGF1dG9tYXRpYyByZXJvdXRpbmcgYmFzZWQgb24gdGhpcyBjYXVzZSBhbmQgc28sIEkgd2lsbCBs aWtlIHRvIHVzZSBpbnN0ZWFkIHRoZSBJU0ROIENhdXNlIDE4IChJIHN1cHBvc2UgJnF1b3Q7NDgw IFRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlJnF1b3Q7KS48L2Rpdj4KCgo8ZGl2PklzIHRoaXMgcG9z c2libGU/PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JJiMzOTt2ZSB1 c2VkIHRoaXMgc25pcHBldCBvZiBjb2RlIHRoYXQgdXNlIGFub3RoZXIgcmVsY2F1c2UgYnV0IHdp dGggc2FtZSBjb25jZXB0ICh0YWtlbiBhcyBpcyBhbmQgcGFzdGVkIGludG8gdGhlIGRpYWxwbGFu KSBidXQgZG9lc24mIzM5O3Qgd29yayBhcyB0aGUgNDA4IGlzIGdpdmVuIGFmdGVyIDE4My48L2Rp dj4KCgo8ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4g c3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCTwvc3Bhbj4gwqAmbHQ7ZXh0ZW5zaW9uIG5h bWU9JnF1b3Q7QWxsRGVzdGluYXRpb25zX0luYm91bmQmcXVvdDsmZ3Q7PC9mb250PjwvZGl2Pjxk aXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFw Ij4JCQk8L3NwYW4+ICZsdDtjb25kaXRpb24gZmllbGQ9JnF1b3Q7ZGVzdGluYXRpb25fbnVtYmVy JnF1b3Q7IGV4cHJlc3Npb249JnF1b3Q7XiZxdW90OyZndDs8L2ZvbnQ+PC9kaXY+CgoKPGRpdj48 Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJ CTwvc3Bhbj4gJmx0O2NvbmRpdGlvbiBmaWVsZD0mcXVvdDtuZXR3b3JrX2FkZHImcXVvdDsgZXhw cmVzc2lvbj0mcXVvdDteMTU0XC40OFwuMTk4XC4xOTAkJnF1b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+ PGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdy YXAiPgkJCTwvc3Bhbj4gwqAgJmx0O2FjdGlvbiBhcHBsaWNhdGlvbj0mcXVvdDtzZXQmcXVvdDsg ZGF0YT0mcXVvdDtoYW5ndXBfYWZ0ZXJfYnJpZGdlPXRydWUmcXVvdDsvJmd0OzwvZm9udD48L2Rp dj4KCgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpw cmUtd3JhcCI+CQkJPC9zcGFuPiDCoCAmbHQ7YWN0aW9uIGFwcGxpY2F0aW9uPSZxdW90O3NldCZx dW90OyBkYXRhPSZxdW90O2NvbnRpbnVlX29uX2ZhaWw9MTkmcXVvdDsvJmd0OzwvZm9udD48L2Rp dj48ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUt d3JhcCI+CQkJPC9zcGFuPiDCoCAmbHQ7YWN0aW9uIGFwcGxpY2F0aW9uPSZxdW90O2JyaWRnZSZx dW90OyBkYXRhPSZxdW90O3NvZmlhL2dhdGV3YXkvcmVtb3RlX291dGJvdW5kX3BlZXIvJHtkZXN0 aW5hdGlvbl9udW1iZXJ9JnF1b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+CgoKPGRpdj48Zm9udCBmYWNl PSJDb3VyaWVyIj48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4g wqAgJmx0O2FjdGlvbiBhcHBsaWNhdGlvbj0mcXVvdDt0cmFuc2ZlciZxdW90OyBkYXRhPSZxdW90 OzQwOHRvNTAzJnF1b3Q7LyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJDb3VyaWVy Ij48c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gJmx0Oy9jb25k aXRpb24mZ3Q7PC9mb250PjwvZGl2PgoKCjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4g c3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCTwvc3Bhbj4gwqAgJmx0Oy9leHRlbnNpb24m Z3Q7PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQkJPC9zcGFuPiDCoMKgPC9m b250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRlLXNw YWNlOnByZS13cmFwIj4JCTwvc3Bhbj4gwqAgJmx0OyEtLUlTRE4gQ0FVIDM0IC0tJmd0OzwvZm9u dD48L2Rpdj4KCgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpwcmUtd3JhcCI+CQk8L3NwYW4+IMKgICZsdDtleHRlbnNpb24gbmFtZT0mcXVvdDs0MDh0 bzUwMyZxdW90OyZndDs8L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJDb3VyaWVyIj48c3Bh biBzdHlsZT0id2hpdGUtc3BhY2U6cHJlLXdyYXAiPgkJCTwvc3Bhbj4gJmx0O2NvbmRpdGlvbiBm aWVsZD0mcXVvdDske3Byb3RvX3NwZWNpZmljX2hhbmd1cF9jYXVzZX0mcXVvdDsgZXhwcmVzc2lv bj0mcXVvdDsmbHQ7YSBocmVmPSZxdW90OzxhPnNpcDo0MDg8L2E+JnF1b3Q7Jmd0O3NpcDo0MDgm cXVvdDsmZ3Q7PC9mb250PjwvZGl2PgoKCjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4g c3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+IMKgICZsdDthY3Rpb24gYXBw bGljYXRpb249JnF1b3Q7c2V0JnF1b3Q7IGRhdGE9JnF1b3Q7c2lwX2lnbm9yZV9yZW1vdGVfY2F1 c2U9dHJ1ZSZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+ PHNwYW4gc3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+IMKgICZsdDthY3Rp b24gYXBwbGljYXRpb249JnF1b3Q7cmVzcG9uZCZxdW90OyBkYXRhPSZxdW90OzUwMyZxdW90Oy8m Z3Q7PC9mb250PjwvZGl2PgoKCjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9 IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+IMKgICZsdDthY3Rpb24gYXBwbGljYXRp b249JnF1b3Q7aGFuZ3VwJnF1b3Q7IGRhdGE9JnF1b3Q7Tk9STUFMX0NJUkNVSVRfQ09OR0VTVElP TiZxdW90Oy8mZ3Q7PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4g c3R5bGU9IndoaXRlLXNwYWNlOnByZS13cmFwIj4JCQk8L3NwYW4+ICZsdDsvY29uZGl0aW9uJmd0 OzwvZm9udD48L2Rpdj4KCgo8ZGl2Pjxmb250IGZhY2U9IkNvdXJpZXIiPjxzcGFuIHN0eWxlPSJ3 aGl0ZS1zcGFjZTpwcmUtd3JhcCI+CQk8L3NwYW4+IMKgICZsdDsvZXh0ZW5zaW9uJmd0OyDCoMKg PC9mb250PjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0iQ291cmllciI+PHNwYW4gc3R5bGU9IndoaXRl LXNwYWNlOnByZS13cmFwIj4JPC9zcGFuPjwvZm9udD48L2Rpdj48L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2Pjxicj48L2Rpdj4KCgo8ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+SG93IHRvIGNvcnJl Y3RseSByZW1hcCBjYXVzZXM/PC9kaXY+PC9kaXY+PGRpdj5JZiB0aGVyZSBpcyBubyB3YXkgdG8g Y2hhbmdlIG5vcm1hbCBiZWhhdmlvdXIsIGRvIHlvdSB0aGluayBjb3VsZCBiZSBwb3NzaWJsZSBh bHNvIHRvIGNoYW5nZSB0aGUgc291cmNlIGNvZGUgYW5kIHJlY29tcGlsZSBGUyBhY2NvcmRseT88 L2Rpdj48ZGl2Pjxicj4KCgo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rIHlvIHNvIG11 Y2ggYW5kIHNvcnJ5IGZvciB0aGlzIGxvbmcgcG9zdDwvZGl2PjxkaXY+SSBob3BlIHNvbWVvbmUg Y291bGQgaGVscDwvZGl2PjxkaXY+TWF4PC9kaXY+PC9kaXY+PGJyPl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnI+ClByb2Zlc3Npb25hbCBGcmVlU1dJVENIIENvbnN1bHRpbmcgU2VydmljZXM6PGJyPgo8YSBo cmVmPSJtYWlsdG86Y29uc3VsdGluZ0BmcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmNv bnN1bHRpbmdAZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmZyZWVz d2l0Y2hzb2x1dGlvbnMuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5mcmVlc3dpdGNo c29sdXRpb25zLmNvbTwvYT48YnI+Cjxicj4KT2ZmaWNpYWwgRnJlZVNXSVRDSCBTaXRlczxicj4K PGEgaHJlZj0iaHR0cDovL3d3dy5mcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6 Ly93d3cuZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vY29uZmx1ZW5jZS5m cmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9jb25mbHVlbmNlLmZyZWVzd2l0 Y2gub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cDovL3d3dy5jbHVlY29uLmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly93d3cuY2x1ZWNvbi5jb208L2E+PGJyPgo8YnI+CkZyZWVTV0lUQ0gtcG93 ZXJlZCBJUCBQQlg6IFRoZSBDdWRhVGVsIENvbW11bmljYXRpb24gU2VydmVyPGJyPgo8YSBocmVm PSJodHRwOi8vd3d3LmN1ZGF0ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5jdWRh dGVsLmNvbTwvYT48YnI+Cjxicj4KRnJlZVNXSVRDSC11c2VycyBtYWlsaW5nIGxpc3Q8YnI+Cjxh IGhyZWY9Im1haWx0bzpGcmVlU1dJVENILXVzZXJzQGxpc3RzLmZyZWVzd2l0Y2gub3JnIiB0YXJn ZXQ9Il9ibGFuayI+RnJlZVNXSVRDSC11c2Vyc0BsaXN0cy5mcmVlc3dpdGNoLm9yZzwvYT48YnI+ CjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5mcmVlc3dpdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zy ZWVzd2l0Y2gtdXNlcnMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMuZnJlZXN3aXRjaC5v cmcvbWFpbG1hbi9saXN0aW5mby9mcmVlc3dpdGNoLXVzZXJzPC9hPjxicj4KVU5TVUJTQ1JJQkU6 PGEgaHJlZj0iaHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3JnL21haWxtYW4vb3B0aW9ucy9mcmVl c3dpdGNoLXVzZXJzIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3Jn L21haWxtYW4vb3B0aW9ucy9mcmVlc3dpdGNoLXVzZXJzPC9hPjxicj4KPGEgaHJlZj0iaHR0cDov L3d3dy5mcmVlc3dpdGNoLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cuZnJlZXN3aXRj aC5vcmc8L2E+PGJyPjwvYmxvY2txdW90ZT48L2Rpdj48YnI+PGJyIGNsZWFyPSJhbGwiPjxkaXY+ PGJyPjwvZGl2Pi0tIDxicj48ZGl2IGRpcj0ibHRyIj4KCgoKCgoKCjxwPjxmb250IGZhY2U9ImNv dXJpZXIgbmV3LCBtb25vc3BhY2UiPjxiPjxpPjxmb250IHNpemU9IjQiPkJyaWFuIFdlc3Q8L2Zv bnQ+PC9pPjwvYj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTp4LXNtYWxsIj48YSBocmVmPSJt YWlsdG86YnJpYW5AZnJlZXN3aXRjaC5vcmciIHRhcmdldD0iX2JsYW5rIj5icmlhbkBmcmVlc3dp dGNoLm9yZzwvYT48L3NwYW4+PC9mb250PjwvcD4KPHA+PGZvbnQgc2l6ZT0iMSIgZmFjZT0iY291 cmllciBuZXcsIG1vbm9zcGFjZSI+PGltZyBzcmM9Imh0dHA6Ly9ia3cub3JnL3dobWNzbG9nby5w bmciPjxicj48L2ZvbnQ+PC9wPjxwPjxmb250IGZhY2U9ImNvdXJpZXIgbmV3LCBtb25vc3BhY2Ui PjxiPjxpPlR3aXR0ZXI6IEBGcmVlU1dJVENIICwgQGJyaWFua3dlc3Q8L2k+PC9iPjxicj48YSBo cmVmPSJodHRwOi8vd3d3LmZyZWVzd2l0Y2hib29rLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6 Ly93d3cuZnJlZXN3aXRjaGJvb2suY29tPC9hPjxicj4KCgo8YSBocmVmPSJodHRwOi8vd3d3LmZy ZWVzd2l0Y2hjb29rYm9vay5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0 Y2hjb29rYm9vay5jb208L2E+PC9mb250PjwvcD4KPHA+PGZvbnQgZmFjZT0iY291cmllciBuZXcs IG1vbm9zcGFjZSI+PGI+VDo8L2I+KzE5MTg0MjA5MDAxIHwgPGI+Rjo8L2I+KzE5MTg0MjA5MDAy IHwgPGI+TTo8L2I+KzE5MTg0MjRXRVNUICg5Mzc4KTxicj48Yj5pTlVNOjwvYj4rODgzIDUxMDAg MTQyMCA5MDAxIHzCoDxiPklTTjo8L2I+NDEwKjU0MyB8wqA8Yj5Ta3lwZTo8L2I+YnJpYW5rd2Vz dDwvZm9udD48L3A+PC9kaXY+CjwvZGl2Pgo8YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KUHJvZmVz c2lvbmFsIEZyZWVTV0lUQ0ggQ29uc3VsdGluZyBTZXJ2aWNlczo8YnI+CjxhIGhyZWY9Im1haWx0 bzpjb25zdWx0aW5nQGZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+Y29uc3VsdGluZ0Bm cmVlc3dpdGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaHNvbHV0 aW9ucy5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0Y2hzb2x1dGlvbnMu Y29tPC9hPjxicj4KPGJyPgpPZmZpY2lhbCBGcmVlU1dJVENIIFNpdGVzPGJyPgo8YSBocmVmPSJo dHRwOi8vd3d3LmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5mcmVl c3dpdGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly9jb25mbHVlbmNlLmZyZWVzd2l0Y2gu b3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2NvbmZsdWVuY2UuZnJlZXN3aXRjaC5vcmc8L2E+ PGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmNsdWVjb24uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0 cDovL3d3dy5jbHVlY29uLmNvbTwvYT48YnI+Cjxicj4KRnJlZVNXSVRDSC1wb3dlcmVkIElQIFBC WDogVGhlIEN1ZGFUZWwgQ29tbXVuaWNhdGlvbiBTZXJ2ZXI8YnI+CjxhIGhyZWY9Imh0dHA6Ly93 d3cuY3VkYXRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmN1ZGF0ZWwuY29tPC9h Pjxicj4KPGJyPgpGcmVlU1dJVENILXVzZXJzIG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFp bHRvOkZyZWVTV0lUQ0gtdXNlcnNAbGlzdHMuZnJlZXN3aXRjaC5vcmciIHRhcmdldD0iX2JsYW5r Ij5GcmVlU1dJVENILXVzZXJzQGxpc3RzLmZyZWVzd2l0Y2gub3JnPC9hPjxicj4KPGEgaHJlZj0i aHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZXN3aXRjaC11 c2VycyIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5mcmVlc3dpdGNoLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ZyZWVzd2l0Y2gtdXNlcnM8L2E+PGJyPgpVTlNVQlNDUklCRTo8YSBocmVmPSJo dHRwOi8vbGlzdHMuZnJlZXN3aXRjaC5vcmcvbWFpbG1hbi9vcHRpb25zL2ZyZWVzd2l0Y2gtdXNl cnMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMuZnJlZXN3aXRjaC5vcmcvbWFpbG1hbi9v cHRpb25zL2ZyZWVzd2l0Y2gtdXNlcnM8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmZyZWVz d2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5mcmVlc3dpdGNoLm9yZzwvYT48 YnI+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2PjwvZGl2Pjxicj48L2Rpdj4KPGJyPl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX188YnI+ClByb2Zlc3Npb25hbCBGcmVlU1dJVENIIENvbnN1bHRpbmcgU2VydmljZXM6 PGJyPgo8YSBocmVmPSJtYWlsdG86Y29uc3VsdGluZ0BmcmVlc3dpdGNoLm9yZyI+Y29uc3VsdGlu Z0BmcmVlc3dpdGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaHNv bHV0aW9ucy5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0Y2hzb2x1dGlv bnMuY29tPC9hPjxicj4KPGJyPgpPZmZpY2lhbCBGcmVlU1dJVENIIFNpdGVzPGJyPgo8YSBocmVm PSJodHRwOi8vd3d3LmZyZWVzd2l0Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5m cmVlc3dpdGNoLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly9jb25mbHVlbmNlLmZyZWVzd2l0 Y2gub3JnIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2NvbmZsdWVuY2UuZnJlZXN3aXRjaC5vcmc8 L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vd3d3LmNsdWVjb24uY29tIiB0YXJnZXQ9Il9ibGFuayI+ aHR0cDovL3d3dy5jbHVlY29uLmNvbTwvYT48YnI+Cjxicj4KRnJlZVNXSVRDSC1wb3dlcmVkIElQ IFBCWDogVGhlIEN1ZGFUZWwgQ29tbXVuaWNhdGlvbiBTZXJ2ZXI8YnI+CjxhIGhyZWY9Imh0dHA6 Ly93d3cuY3VkYXRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmN1ZGF0ZWwuY29t PC9hPjxicj4KPGJyPgpGcmVlU1dJVENILXVzZXJzIG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0i bWFpbHRvOkZyZWVTV0lUQ0gtdXNlcnNAbGlzdHMuZnJlZXN3aXRjaC5vcmciPkZyZWVTV0lUQ0gt dXNlcnNAbGlzdHMuZnJlZXN3aXRjaC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMu ZnJlZXN3aXRjaC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlc3dpdGNoLXVzZXJzIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cDovL2xpc3RzLmZyZWVzd2l0Y2gub3JnL21haWxtYW4vbGlzdGluZm8vZnJl ZXN3aXRjaC11c2VyczwvYT48YnI+ClVOU1VCU0NSSUJFOjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5m cmVlc3dpdGNoLm9yZy9tYWlsbWFuL29wdGlvbnMvZnJlZXN3aXRjaC11c2VycyIgdGFyZ2V0PSJf YmxhbmsiPmh0dHA6Ly9saXN0cy5mcmVlc3dpdGNoLm9yZy9tYWlsbWFuL29wdGlvbnMvZnJlZXN3 aXRjaC11c2VyczwvYT48YnI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZnJlZXN3aXRjaC5vcmciIHRh cmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmZyZWVzd2l0Y2gub3JnPC9hPjxicj48L2Jsb2NrcXVv dGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48ZGl2Pjxicj48L2Rpdj4tLSA8YnI+R3VpbGxl cm1vIFJ1aXogQ2FtYXVlcjxicj4KPC9kaXY+Cg== --===============2146279862057209803==--