I coded a Sip Servlet which behave like a BACK2BACK UA. My Sip Servlet is running over GlassFish v2 JavaEE5 Sailfin server. 2 Sip Clients talking over my Sip Servlet successfully. But after a certain time (~2 minutes and 50 seconds) my Sip Servlet throws "java.lang.IllegalStateException: SipApplicationSession is not valid." exception. And Sip Servlet can't ended the conversation. Why did it happen all the time ? What can i do with it ? Is there a solution ?
Joined: Dec 27, 2005
With the help of your suggestions(!?) i added into sip.xml the following attribute :
<!-- Session will be terminated otomatically after 60 minutes. --> <session-config> <session-timeout>60</session-timeout> </session-config>
So that my session expired problem resolved.
Also i added this row into sip.xml : <listener> <listener-class>tr.com.xxxx.sip.xxx.ApplicationSessionListener</listener-class> </listener> By the help of this when session expired ApplicationSessionListener's public void sessionExpired(SipApplicationSessionEvent sipApplicationEvent) method is called. And i did the neccessary work in this method.