I ran some tests on my SPA3102 and couldn't get any delays. How do you discern that the PSTN Line does not disconnect promptly?
I would run some tests to try to determine where the delay is coming from.
Does the SPA2102 delay sending the BYE to the SPA3102?
Does the SPA3102 delay putting the FXO port back on hook when it receives the BYE?
Does the PSTN line voltage immediately restore to about +/- 49v when the FXO port goes back on hook?
You can run a sip debug trace with times annotated to look at the BYE's and FXO off and on hook. The following syslog program has an option to include the received time by starting the program with the /t option.... slogsrv.exe -t
https://supportforums.cisco.com/document/36921/using-slogsrvexe-utility
Install the program, put the ip address of your computer on the System Tab under Debug Server, on the System Tab set the Debug Level to 3 and on the PSTN Line Tab set the Sip Debug Option to FULL.