Index: pjproject/trunk/pjsip/src/pjsua-lib/pjsua_pres.c
===================================================================
--- pjproject/trunk/pjsip/src/pjsua-lib/pjsua_pres.c	(revision 2958)
+++ pjproject/trunk/pjsip/src/pjsua-lib/pjsua_pres.c	(revision 2959)
@@ -1406,4 +1406,10 @@
     if (resched) {
 	pj_time_val delay;
+
+	PJ_LOG(4,(THIS_FILE,  
+	          "Resubscribing buddy id %u in %u ms (reason: %.*s)", 
+		  buddy->index, msec_interval,
+		  (int)buddy->term_reason.slen,
+		  buddy->term_reason.ptr));
 
 	pj_timer_entry_init(&buddy->timer, 0, buddy, &buddy_timer_cb);
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml	(revision 2959)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml	(revision 2959)
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<!-- This program is free software; you can redistribute it and/or      -->
+<!-- modify it under the terms of the GNU General Public License as     -->
+<!-- published by the Free Software Foundation; either version 2 of the -->
+<!-- License, or (at your option) any later version.                    -->
+<!--                                                                    -->
+<!-- This program is distributed in the hope that it will be useful,    -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      -->
+<!-- GNU General Public License for more details.                       -->
+<!--                                                                    -->
+<!-- You should have received a copy of the GNU General Public License  -->
+<!-- along with this program; if not, write to the                      -->
+<!-- Free Software Foundation, Inc.,                                    -->
+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA             -->
+<!--                                                                    -->
+<!-- Late NOTIFY scenario:                       			-->
+<!--  - UAC sends SUBSCRIBE, we reply with 200				-->
+<!--  - we send NOTIFY, expect 200					-->
+<!--  - UAC sends SUBSCRIBE, we ignore					-->
+<!--  - we send NOTIFY							-->
+<!-- See http://trac.pjsip.org/repos/ticket/911                         -->
+<!--                                                                    -->
+
+<scenario name="SUBSCRIBE tests">
+  <!-- Establish subscription -->
+  <recv request="SUBSCRIBE" crlf="true">
+    <action>
+	<ereg regexp=".*" search_in="hdr" header="From" assign_to="3"/>
+	<ereg regexp="sip:(.*)>" search_in="hdr" header="Contact" assign_to="4,5"/>
+        <assign assign_to="4" variable="5" />
+    </action>
+  </recv>
+
+  <send>
+    <![CDATA[
+
+      SIP/2.0 200 OK
+      [last_Via:]
+      [last_From:]
+      [last_To:];tag=[call_number]
+      [last_Call-ID:]
+      [last_CSeq:]
+      Contact: <sip:sipp@[local_ip]:[local_port]>
+      Content-Length: 0
+      Expires: 60
+    ]]>
+  </send>
+
+  <send retrans="500">
+    <![CDATA[
+      NOTIFY sip:[$5] SIP/2.0
+      Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=z9hG4bKPj01
+      From: sipp <sip:sipp@[local_ip]>;tag=[call_number]
+      To[$3]
+      Call-ID: [call_id]
+      Cseq: 1 NOTIFY
+      Contact: sip:sipp@[local_ip]:[local_port]
+      Max-Forwards: 70
+      Event: presence
+      Subscription-State: active;expires=50
+      Content-Type: application/pidf+xml
+
+      <?xml version="1.0" encoding="UTF-8"?>
+      <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:op="urn:oma:xml:prs:pidf:oma-pres" entity="sip:moto_red@ptt.intra.genaker.net">
+       <tuple id="17415d5738f332a64a2f1d8cfb4ab0a5">
+         <status>
+            <basic>open</basic>
+         </status>
+       </tuple>
+      </presence>
+    ]]>
+  </send>
+
+   <recv response="200">
+   </recv>
+
+  <!-- Subscription has been established at this point -->
+
+
+  <!-- *******
+    
+       Wait for subscription refresh, reply with 481
+       
+  -->
+
+  <recv request="SUBSCRIBE" crlf="true">
+  </recv>
+
+  <send>
+    <![CDATA[
+
+      SIP/2.0 481 You should resubscribe mow
+      [last_Via:]
+      [last_From:]
+      [last_To:];tag=[call_number]
+      [last_Call-ID:]
+      [last_CSeq:]
+      Contact: <sip:sipp@[local_ip]:[local_port]>
+      Content-Length: 0
+    ]]>
+  </send>
+
+
+
+
+  <!-- definition of the response time repartition table (unit is ms)   -->
+  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+  <!-- definition of the call length repartition table (unit is ms)     -->
+  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
Index: pjproject/trunk/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml
===================================================================
--- pjproject/trunk/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml	(revision 2959)
+++ pjproject/trunk/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml	(revision 2959)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<!-- This program is free software; you can redistribute it and/or      -->
+<!-- modify it under the terms of the GNU General Public License as     -->
+<!-- published by the Free Software Foundation; either version 2 of the -->
+<!-- License, or (at your option) any later version.                    -->
+<!--                                                                    -->
+<!-- This program is distributed in the hope that it will be useful,    -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      -->
+<!-- GNU General Public License for more details.                       -->
+<!--                                                                    -->
+<!-- You should have received a copy of the GNU General Public License  -->
+<!-- along with this program; if not, write to the                      -->
+<!-- Free Software Foundation, Inc.,                                    -->
+<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA             -->
+<!--                                                                    -->
+<!-- Late NOTIFY scenario:                       			-->
+<!--  - UAC sends SUBSCRIBE, we reply with 200				-->
+<!--  - we send NOTIFY, expect 200					-->
+<!--  - UAC sends SUBSCRIBE, we ignore					-->
+<!--  - we send NOTIFY							-->
+<!-- See http://trac.pjsip.org/repos/ticket/911                         -->
+<!--                                                                    -->
+
+<scenario name="NOTIFY with terminated status with some reason code should cause UAC to retry">
+  <!-- Establish subscription -->
+  <recv request="SUBSCRIBE" crlf="true">
+    <action>
+	<ereg regexp=".*" search_in="hdr" header="From" assign_to="3"/>
+	<ereg regexp="sip:(.*)>" search_in="hdr" header="Contact" assign_to="4,5"/>
+        <assign assign_to="4" variable="5" />
+    </action>
+  </recv>
+
+  <send>
+    <![CDATA[
+
+      SIP/2.0 200 OK
+      [last_Via:]
+      [last_From:]
+      [last_To:];tag=[call_number]
+      [last_Call-ID:]
+      [last_CSeq:]
+      Contact: <sip:sipp@[local_ip]:[local_port]>
+      Content-Length: 0
+      Expires: 60
+    ]]>
+  </send>
+
+  <send retrans="500">
+    <![CDATA[
+      NOTIFY sip:[$5] SIP/2.0
+      Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]
+      From: sipp <sip:sipp@[local_ip]>;tag=[call_number]
+      To[$3]
+      Call-ID: [call_id]
+      Cseq: 1 NOTIFY
+      Contact: sip:sipp@[local_ip]:[local_port]
+      Max-Forwards: 70
+      Event: presence
+      Subscription-State: active;expires=50
+      Content-Type: application/pidf+xml
+
+      <?xml version="1.0" encoding="UTF-8"?>
+      <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:op="urn:oma:xml:prs:pidf:oma-pres" entity="sip:moto_red@ptt.intra.genaker.net">
+       <tuple id="17415d5738f332a64a2f1d8cfb4ab0a5">
+         <status>
+            <basic>open</basic>
+         </status>
+       </tuple>
+      </presence>
+    ]]>
+  </send>
+
+   <recv response="200">
+   </recv>
+
+  <!-- Subscription has been established at this point -->
+
+
+  <pause milliseconds="4000"/>
+
+  <!-- *******
+    
+       Send NOTIFY termination 
+       
+  -->
+  <send retrans="500">
+    <![CDATA[
+      NOTIFY sip:[$5] SIP/2.0
+      Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]
+      From: sipp <sip:sipp@[local_ip]>;tag=[call_number]
+      To[$3]
+      Call-ID: [call_id]
+      Cseq: 3 NOTIFY
+      Contact: sip:sipp@[local_ip]:[local_port]
+      Max-Forwards: 70
+      Event: presence
+      Subscription-State: terminated;reason=probation;retry-after=5
+      Content-Length: 0
+    ]]>
+  </send>
+
+   <recv response="200">
+   </recv>
+
+
+
+
+
+  <!-- definition of the response time repartition table (unit is ms)   -->
+  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+  <!-- definition of the call length repartition table (unit is ms)     -->
+  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
