Re: Configuring DNS with JSIP stack.

187 views
Skip to first unread message

aayush bhatnagar

unread,
Oct 16, 2008, 9:25:30 AM10/16/08
to mobicent...@googlegroups.com
:) Yep..its a bit of jsip and a bit of mobicents query.
I think i will need to implement the DefaultAddressResolver.java class
of jsip, otherwise all SIP App servers will be unable to resolve the
next hop in case the domain name is known.
Then at the sbb level, or at the SIP RA, the ip address can be resolved.
Currently the mobicents presence server is unable to resolve the next
hop for sending NOTIFY requests.

On 10/16/08, Jean Deruelle <jean.d...@gmail.com> wrote:
> Oops I didn't notice it was a jain sip thread. Maybe we should move this
> conversation to Mobicents now since this becomes a bit Mobicents specific...
>
> On Thu, Oct 16, 2008 at 3:02 PM, aayush bhatnagar <
> abhatnag...@gmail.com> wrote:
>
>> I have been using JSIP in the slee sip ra.
>> This property is present in the stack code..and the sipstackimpl class
>> does a prop lookup too. The defaultrouter class then uses the address
>> resolver to get the next hop.
>> However in the slee sipra.properties file, this property is
>> missing..all others are present. I think i will need to add it there.
>> I think i will need to write the logic of dns lookup in the
>> DefaultAddressResolver.java class.
>>
>>
>> On 10/16/08, aayush bhatnagar <abhatnag...@gmail.com> wrote:
>> > Ok...thanks a ton Jean.
>> > I will need to set the stack props.
>> >
>> > On 10/16/08, Jean Deruelle <jean.d...@gmail.com> wrote:
>> >> Yes we do DNS SRV lookups of the host of the Hop as mandated by rfc3263
>> in
>> >> Mobicents Sip servlets for that.
>> >> look at
>> >>
>> http://code.google.com/p/mobicents/source/browse/trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/DNSAddressResolver.java
>> >> you need to set the Address Resolver this way in the jain sip stack
>> >> ((SipStackImpl) sipStack).setAddressResolver(new
>> >> DNSAddressResolver(sipApplicationDispatcher));
>> >>
>> >> if your DNS Address Resolver does take any argument you can set it
>> through
>> >> the stack properties "gov.nist.javax.sip.ADDRESS_RESOLVER" (See the
>> >> javadoc
>> >> at
>> >>
>> http://is2.antd.nist.gov/proj/iptel/jain-sip-1.2/javadoc/gov/nist/javax/sip/SipStackImpl.html
>> >> )
>> >>
>> >> Best regards
>> >> Jean
>> >>
>> >> On Thu, Oct 16, 2008 at 2:23 PM, aayush bhatnagar <
>> >> abhatnag...@gmail.com> wrote:
>> >>
>> >>> Hi guys..
>> >>> I have an application on top of jsip. While sending out requests
>> >>> inside a dialog, i insert the saved route set. However..i get an
>> >>> exception saying..that the hop could not be resolved.
>> >>> i think this is because i know only the domain name of the next hop. I
>> >>> would need to do a dns query and resolve its IP address.
>> >>> Is there a way of doing a DNS lookup from the stack and configuring a
>> >>> DNS server for it?
>> >>> Aayush
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: users-un...@jain-sip.dev.java.net
>> >>> For additional commands, e-mail: users...@jain-sip.dev.java.net
>> >>>
>> >>>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-un...@jain-sip.dev.java.net
>> For additional commands, e-mail: users...@jain-sip.dev.java.net
>>
>>
>

Jean Deruelle

unread,
Oct 16, 2008, 9:34:15 AM10/16/08
to mobicent...@googlegroups.com
you can implement the gov.nist.core.net.AddressResolver jain sip interface, bundle the class in a jar and either bundle the jar with the sip ra du or put it in server/lib of jboss, and set the property in sipra.properties. the stack will pick up automagically

Eduardo Martins

unread,
Oct 16, 2008, 11:23:46 AM10/16/08
to mobicent...@googlegroups.com
Hi Aayush, why not a try of the Mobicents Sip Servlet DNSResolver class? Just drop the jar (link Jean?) into server/lib, set the property and give it a try. If it doesn't work or it is limited we are definitelly interested in fixing/improving it...

By the way, we will try to include that resolver in JAIN SIP RI, but if it is not accepted we will bundle it in the SIP RAs...

Eduardo Martins

unread,
Oct 16, 2008, 11:25:13 AM10/16/08
to mobicent...@googlegroups.com

Jean Deruelle

unread,
Oct 16, 2008, 11:28:49 AM10/16/08
to mobicent...@googlegroups.com

aayush bhatnagar

unread,
Oct 16, 2008, 12:00:29 PM10/16/08
to mobicent...@googlegroups.com
I will try both solutions in a priority basis. I want to make the
presence server work in the next 24 hrs. I am trying it out with
different IMS clients. Lets hope for the best.....thanks so
much...aayush.

aayush bhatnagar

unread,
Oct 16, 2008, 12:13:59 PM10/16/08
to mobicent...@googlegroups.com
Just for your reference.....here is the log i saved...it helped me go to the root of the cause:
------------------------------------
10:15:46,344 INFO  [SipResourceAdaptor] Received Request:
SUBSCRIBE sip:u...@rancoretech2.test SIP/2.0
From: <sip:b...@rancoretech2.test>;tag=19718
To: <sip:u...@rancoretech2.test>
Call-ID: 122416...@192.168.128.35
CSeq: 601 SUBSCRIBE
Via: SIP/2.0/UDP 192.168.128.68:6060;branch=z9hG4bK-32efa-c6f80ca-6810c969,SIP/2.0/UDP 192.168.128.66:4062;branch=z9hG4bK-32efc-c6f88be-7ef28bfb,SIP/2.0/UDP 192.168.128.35:1048;rport=1048;branch=z9hG4bK19895
Record-Route: <sip:RT_CO_...@scscf.rancoretech2.test:6060;lr>,<sip:mt...@pcscf.rancoretech2.test:4062;lr>
Route: <sip:192.168.128.13:5060>,<sip:RT_AO_00-...@scscf.rancoretech2.test:6060;lr>
P-Charging-Vector: icid-value=e600000007b47f84be800000;orig-ioi=rancoretech2.test
P-Asserted-Identity: <sip:b...@rancoretech2.test>
Max-Forwards: 68
User-Agent: Mercuro IMS Client Beta (4.0.930.0)
Supported: eventlist
Accept: application/pidf+xml,application/rlmi+xml,multipart/related,multipart/signed
Privacy: none
Allow: INVITE,ACK,CANCEL,BYE,MESSAGE,OPTIONS,UPDATE,NOTIFY,PRACK
Contact: <sip:b...@192.168.128.35:1048;transport=udp>
Expires: 600000
Event: presence
Content-Length: 0


10:15:46,356 INFO  [InternalXDMClientControlSbb] Subscribed /org.openmobilealliance.pres-rules/users/sip:ish...@rancoretech.test/pres-rules
10:15:46,361 ERROR [SubscriptionControlSbb] failed to notify subscriber
javax.sip.TransactionUnavailableException: Could not resolve next hop or listening point unavailable!
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:412)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:277)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:308)
       at org.mobicents.slee.sipevent.server.subscription.sip.SipSubscriberNotificationHandler.createAndSendNotify(SipSubscriberNotificationHandler.java:149)
       at org.mobicents.slee.sipevent.server.subscription.sip.NewSipSubscriptionHandler.newSipSubscriptionAuthorization(NewSipSubscriptionHandler.java:214)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.newSubscriptionAuthorization(SubscriptionControlSbb.java:414)
       at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbbLocalObjectImpl.newSubscriptionAuthorization(SubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sippresence.server.subscription.PresenceSubscriptionControl.isSubscriberAuthorized(PresenceSubscriptionControl.java:99)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbb.isSubscriberAuthorized(IntegratedSubscriptionControlSbb.java:147)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbbLocalObjectImpl.isSubscriberAuthorized(IntegratedSubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sipevent.server.subscription.sip.NewSipSubscriptionHandler.newSipSubscription(NewSipSubscriptionHandler.java:116)
       at org.mobicents.slee.sipevent.server.subscription.sip.SipSubscriptionHandler.processRequest(SipSubscriptionHandler.java:139)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.onSubscribeOutOfDialog(SubscriptionControlSbb.java:262)
       at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.runtime.sbbentity.SbbEntity.invokeEventHandler(SbbEntity.java:871)
       at org.mobicents.slee.runtime.EventRouterImpl.routeQueuedEvent(EventRouterImpl.java:892)
       at org.mobicents.slee.runtime.EventRouterImpl.access$100(EventRouterImpl.java:64)
       at org.mobicents.slee.runtime.EventRouterImpl$EventExecutor.run(EventRouterImpl.java:121)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.UnknownHostException: scscf.rancoretech2.test
       at java.net.InetAddress.getAllByName0(InetAddress.java:1150)
       at java.net.InetAddress.getAllByName(InetAddress.java:1072)
       at java.net.InetAddress.getAllByName(InetAddress.java:1008)
       at java.net.InetAddress.getByName(InetAddress.java:958)
       at gov.nist.core.Host.getInetAddress(Host.java:235)
       at gov.nist.core.HostPort.getInetAddress(HostPort.java:146)
       at gov.nist.javax.sip.stack.UDPMessageProcessor.createMessageChannel(UDPMessageProcessor.java:312)
       at gov.nist.javax.sip.stack.SIPTransactionStack.createMessageChannel(SIPTransactionStack.java:1227)
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:379)
       ... 33 more
10:15:46,414 ERROR [SubscriptionControlSbb] failed to notify winfo subscriber
javax.sip.TransactionUnavailableException: Could not resolve next hop or listening point unavailable!
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:412)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:277)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:308)
       at org.mobicents.slee.sipevent.server.subscription.winfo.WInfoSubscriptionHandler.notifyWinfoSubscriptions(WInfoSubscriptionHandler.java:102)
       at org.mobicents.slee.sipevent.server.subscription.sip.NewSipSubscriptionHandler.newSipSubscriptionAuthorization(NewSipSubscriptionHandler.java:222)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.newSubscriptionAuthorization(SubscriptionControlSbb.java:414)
       at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbbLocalObjectImpl.newSubscriptionAuthorization(SubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sippresence.server.subscription.PresenceSubscriptionControl.isSubscriberAuthorized(PresenceSubscriptionControl.java:99)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbb.isSubscriberAuthorized(IntegratedSubscriptionControlSbb.java:147)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbbLocalObjectImpl.isSubscriberAuthorized(IntegratedSubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sipevent.server.subscription.sip.NewSipSubscriptionHandler.newSipSubscription(NewSipSubscriptionHandler.java:116)
       at org.mobicents.slee.sipevent.server.subscription.sip.SipSubscriptionHandler.processRequest(SipSubscriptionHandler.java:139)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.onSubscribeOutOfDialog(SubscriptionControlSbb.java:262)
       at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.runtime.sbbentity.SbbEntity.invokeEventHandler(SbbEntity.java:871)
       at org.mobicents.slee.runtime.EventRouterImpl.routeQueuedEvent(EventRouterImpl.java:892)
       at org.mobicents.slee.runtime.EventRouterImpl.access$100(EventRouterImpl.java:64)
       at org.mobicents.slee.runtime.EventRouterImpl$EventExecutor.run(EventRouterImpl.java:121)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.UnknownHostException: scscf.rancoretech2.test
       at java.net.InetAddress.getAllByName0(InetAddress.java:1150)
       at java.net.InetAddress.getAllByName(InetAddress.java:1072)
       at java.net.InetAddress.getAllByName(InetAddress.java:1008)
       at java.net.InetAddress.getByName(InetAddress.java:958)
       at gov.nist.core.Host.getInetAddress(Host.java:235)
       at gov.nist.core.HostPort.getInetAddress(HostPort.java:146)
       at gov.nist.javax.sip.stack.UDPMessageProcessor.createMessageChannel(UDPMessageProcessor.java:312)
       at gov.nist.javax.sip.stack.SIPTransactionStack.createMessageChannel(SIPTransactionStack.java:1227)
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:379)
       ... 33 more
10:15:46,417 INFO  [SubscriptionControlSbb] Created subscription: subscriber=sip:b...@rancoretech2.test,notifier=sip:u...@rancoretech2.test,eventPackage=presence,eventId=null,status=pending
10:15:46,419 INFO  [InternalXDMClientControlSbb] Retrieveing /org.openmobilealliance.pres-rules/users/sip:u...@rancoretech2.test/pres-rules
10:15:46,419 INFO  [RequestProcessorSbb] get(resourceSelector=/org.openmobilealliance.pres-rules/users/sip:u...@rancoretech2.test/pres-rules)
10:15:46,420 INFO  [PresenceSubscriptionControl] didn't found a pres-rules in doc at /org.openmobilealliance.pres-rules/users/sip:u...@rancoretech2.test/pres-rules
10:15:46,421 INFO  [SubscriptionControlSbb] Status changed for subscription: subscriber=sip:b...@rancoretech2.test,notifier=sip:u...@rancoretech2.test,eventPackage=presence,eventId=null,status=active
10:15:46,423 ERROR [SubscriptionControlSbb] failed to notify subscriber
javax.sip.TransactionUnavailableException: Could not resolve next hop or listening point unavailable!
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:412)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:277)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:308)
       at org.mobicents.slee.sipevent.server.subscription.sip.SipSubscriberNotificationHandler.createAndSendNotify(SipSubscriberNotificationHandler.java:149)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.authorizationChanged(SubscriptionControlSbb.java:633)
       at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbbLocalObjectImpl.authorizationChanged(SubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sippresence.server.subscription.PresenceSubscriptionControl.getResponse(PresenceSubscriptionControl.java:216)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbb.getResponse(IntegratedSubscriptionControlSbb.java:297)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbbLocalObjectImpl.getResponse(IntegratedSubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.xdm.server.InternalXDMClientControlSbb.get(InternalXDMClientControlSbb.java:131)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.xdm.server.XDMClientControlSbbLocalObjectImpl.get(XDMClientControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sippresence.server.subscription.PresenceSubscriptionControl.isSubscriberAuthorized(PresenceSubscriptionControl.java:103)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbb.isSubscriberAuthorized(IntegratedSubscriptionControlSbb.java:147)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbbLocalObjectImpl.isSubscriberAuthorized(IntegratedSubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sipevent.server.subscription.sip.NewSipSubscriptionHandler.newSipSubscription(NewSipSubscriptionHandler.java:116)
       at org.mobicents.slee.sipevent.server.subscription.sip.SipSubscriptionHandler.processRequest(SipSubscriptionHandler.java:139)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.onSubscribeOutOfDialog(SubscriptionControlSbb.java:262)
       at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.runtime.sbbentity.SbbEntity.invokeEventHandler(SbbEntity.java:871)
       at org.mobicents.slee.runtime.EventRouterImpl.routeQueuedEvent(EventRouterImpl.java:892)
       at org.mobicents.slee.runtime.EventRouterImpl.access$100(EventRouterImpl.java:64)
       at org.mobicents.slee.runtime.EventRouterImpl$EventExecutor.run(EventRouterImpl.java:121)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.UnknownHostException: scscf.rancoretech2.test
       at java.net.InetAddress.getAllByName0(InetAddress.java:1150)
       at java.net.InetAddress.getAllByName(InetAddress.java:1072)
       at java.net.InetAddress.getAllByName(InetAddress.java:1008)
       at java.net.InetAddress.getByName(InetAddress.java:958)
       at gov.nist.core.Host.getInetAddress(Host.java:235)
       at gov.nist.core.HostPort.getInetAddress(HostPort.java:146)
       at gov.nist.javax.sip.stack.UDPMessageProcessor.createMessageChannel(UDPMessageProcessor.java:312)
       at gov.nist.javax.sip.stack.SIPTransactionStack.createMessageChannel(SIPTransactionStack.java:1227)
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:379)
       ... 49 more
10:15:46,430 ERROR [SubscriptionControlSbb] failed to notify winfo subscriber
javax.sip.TransactionUnavailableException: Could not resolve next hop or listening point unavailable!
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:412)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:277)
       at org.mobicents.slee.resource.sip11.SleeSipProviderImpl.getNewClientTransaction(SleeSipProviderImpl.java:308)
       at org.mobicents.slee.sipevent.server.subscription.winfo.WInfoSubscriptionHandler.notifyWinfoSubscriptions(WInfoSubscriptionHandler.java:102)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.authorizationChanged(SubscriptionControlSbb.java:643)
       at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbbLocalObjectImpl.authorizationChanged(SubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sippresence.server.subscription.PresenceSubscriptionControl.getResponse(PresenceSubscriptionControl.java:216)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbb.getResponse(IntegratedSubscriptionControlSbb.java:297)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbbLocalObjectImpl.getResponse(IntegratedSubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.xdm.server.InternalXDMClientControlSbb.get(InternalXDMClientControlSbb.java:131)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.xdm.server.XDMClientControlSbbLocalObjectImpl.get(XDMClientControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sippresence.server.subscription.PresenceSubscriptionControl.isSubscriberAuthorized(PresenceSubscriptionControl.java:103)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbb.isSubscriberAuthorized(IntegratedSubscriptionControlSbb.java:147)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnObject(SbbLocalObjectInterceptor.java:72)
       at org.mobicents.slee.container.deployment.interceptors.SbbLocalObjectInterceptor.invokeAndReturnvoid(SbbLocalObjectInterceptor.java:113)
       at org.mobicents.slee.sippresence.server.integrated.subscription.IntegratedSubscriptionControlSbbLocalObjectImpl.isSubscriberAuthorized(IntegratedSubscriptionControlSbbLocalObjectImpl.java)
       at org.mobicents.slee.sipevent.server.subscription.sip.NewSipSubscriptionHandler.newSipSubscription(NewSipSubscriptionHandler.java:116)
       at org.mobicents.slee.sipevent.server.subscription.sip.SipSubscriptionHandler.processRequest(SipSubscriptionHandler.java:139)
       at org.mobicents.slee.sipevent.server.subscription.SubscriptionControlSbb.onSubscribeOutOfDialog(SubscriptionControlSbb.java:262)
       at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.mobicents.slee.runtime.sbbentity.SbbEntity.invokeEventHandler(SbbEntity.java:871)
       at org.mobicents.slee.runtime.EventRouterImpl.routeQueuedEvent(EventRouterImpl.java:892)
       at org.mobicents.slee.runtime.EventRouterImpl.access$100(EventRouterImpl.java:64)
       at org.mobicents.slee.runtime.EventRouterImpl$EventExecutor.run(EventRouterImpl.java:121)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
       at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.UnknownHostException: scscf.rancoretech2.test
       at java.net.InetAddress.getAllByName0(InetAddress.java:1150)
       at java.net.InetAddress.getAllByName(InetAddress.java:1072)
       at java.net.InetAddress.getAllByName(InetAddress.java:1008)
       at java.net.InetAddress.getByName(InetAddress.java:958)
       at gov.nist.core.Host.getInetAddress(Host.java:235)
       at gov.nist.core.HostPort.getInetAddress(HostPort.java:146)
       at gov.nist.javax.sip.stack.UDPMessageProcessor.createMessageChannel(UDPMessageProcessor.java:312)
       at gov.nist.javax.sip.stack.SIPTransactionStack.createMessageChannel(SIPTransactionStack.java:1227)
       at gov.nist.javax.sip.SipProviderImpl.getNewClientTransaction(SipProviderImpl.java:379)
       ... 49 more
10:15:46,445 INFO  [InternalXDMClientControlSbb] Subscribed /org.openmobilealliance.pres-rules/users/sip:u...@rancoretech2.test/pres-rules

aayush bhatnagar

unread,
Oct 16, 2008, 12:48:33 PM10/16/08
to mobicent...@googlegroups.com
Hi guys...i was looking at the code provided from the trunk for DNS.

Dont u think the same code..with some changes can be reused in the DefaultAddressResolver.java class of JSIP?

 Its look so copy-pastable ! ;) 

Jean Deruelle

unread,
Oct 16, 2008, 2:47:32 PM10/16/08
to mobicent...@googlegroups.com
It's not complete yet, it misses the lookup for NAPTR records and it adds a dependency on dnsjava.jar.
BTW, the original file comes from sipx which is LGPL and jain sip is public domain so might be some licensing issue.
But I'm discussing it with ranga

aayush bhatnagar

unread,
Oct 17, 2008, 8:45:39 AM10/17/08
to mobicent...@googlegroups.com
Hi guys,
 
I tried it.....
 
I dropped the jar Jean gave me in the server/default/lib directory.
 
Then i set the ADDRESS_RESOLVER property to the classpath of the jar location.
 
But i got this error:

Caused by: javax.sip.PeerUnavailableException: can't find or instantiate AddressResolver implementation: org.mobicents.servlet.sip.core.DNSAddressResolver

at gov.nist.javax.sip.SipStackImpl.<init>(SipStackImpl.java:556)

I think that it is unable to make out the constructor of the DNS address resolver class...which is something like this :
 
 public DNSAddressResolver(
   SipApplicationDispatcher sipApplicationDispatcher) {  
  this.sipApplicationDispatcher = sipApplicationDispatcher;
  cachedLookup = new ConcurrentHashMap<String, Map<String, String>>();
 }
This is something specific to MSS, so i think the DNS address resolver instantiation fails..which in turn then causes the other expected errors:

17:40:51,693 ERROR [SipResourceAdaptor] error in initializing resource adaptor

javax.sip.PeerUnavailableException: The Peer SIP Stack: gov.nist.javax.sip.SipStackImpl could not be instantiated. Ensure the Path Name has been set.

Also in the source code that Eduardo pointed me to, the method resolveHostbyDnsSrvLookup (...), right at the bottom of the class, is not fully implemented.

At the last resort, i tried setting the javax.sip.OUTBOUND_PROXY property to the IP address, port and transport of the S-CSCF (next hop)...but unfortunately, it also didnt work.

Requset for comments :)

Aayush

 
 
 


 
On Fri, Oct 17, 2008 at 11:13 AM, aayush bhatnagar <abhatnag...@gmail.com> wrote:
---------- Forwarded message ----------
From: aayush bhatnagar <abhatnag...@gmail.com>
Date: Fri, 17 Oct 2008 10:50:02 +0530
Subject: Fwd: [mobicents-public] Re: Configuring DNS with JSIP stack.
To: nitin...@rancoretech.com, aayush.b...@rancoretech.com,
shailend...@rancoretech.com

Jean Deruelle

unread,
Oct 17, 2008, 8:52:56 AM10/17/08
to mobicent...@googlegroups.com
I would suggest rewriting one that takes an empty constructor and removing the SipApplicationDispatcher from the class, also do not forget to place dnsjava.jar too in server/default/lib.

By not fully implemented you mean as compared to the RFC ?

aayush bhatnagar

unread,
Oct 17, 2008, 9:03:15 AM10/17/08
to mobicent...@googlegroups.com
dnsjava.jar was there is my lib.
That function is fully implemented..i confused it with something else.
Can i not also try and using the implementation of the dns address
resolver class in the DefaultAddressResolver.java class of jsip,
excluding the IPV6 logic?
I will need to recompile the stack..but it might work.
There is another thing...i have seen a prop file in Dns java..in the
package org.xbill.DNS.windows called DNSServer.properties.
I think thats where i will configure my target DNS server.
Thanks for helping...
Aayush.

Jean Deruelle

unread,
Oct 17, 2008, 9:06:34 AM10/17/08
to mobicent...@googlegroups.com
hacking at the sip stack level will surely work since this is what is picked up by default but maintenance might become a hell for you, when we bundle new versions of jsip with Mobicents.

aayush bhatnagar

unread,
Oct 17, 2008, 9:21:29 AM10/17/08
to mobicent...@googlegroups.com
Yeah...ur right.

Tomorrow...the SIP RA will include the jsip logic minus the logic i
wud have used. Then i will need to rebuild the stack from source and
bundle it with the SIP RA and use it..
Sounds like fun ;) DNS queries are cruicial for me..maybe in the
future dns will be there either in jsip stack or the slee sip RA.
Thanks so much once again..for helping me out Jean..and Eduardo.

aayush bhatnagar

unread,
Oct 17, 2008, 9:54:56 AM10/17/08
to mobicent...@googlegroups.com
It works now!! It works..it works...!!

Jean Deruelle

unread,
Oct 17, 2008, 9:55:13 AM10/17/08
to mobicent...@googlegroups.com
it might be,  as I said I'm discussing it for integrating it in the jsip stack with ranga, we will see how it goes.

Jean Deruelle

unread,
Oct 17, 2008, 9:55:54 AM10/17/08
to mobicent...@googlegroups.com
:-) I so much like happy users :-)

you rewrote the jain sip stack class ?

Eduardo Martins

unread,
Oct 17, 2008, 9:57:41 AM10/17/08
to mobicent...@googlegroups.com
Jean, is that MSS object in the class constructor really needed?

Jean Deruelle

unread,
Oct 17, 2008, 10:13:28 AM10/17/08
to mobicent...@googlegroups.com
It saves a lookup, that is don't lookup if the hostname is yourself, which happens often in sip servlets due to app composition where a request is sent through jsip to be routed back to the container, gives us better performance

aayush bhatnagar

unread,
Oct 17, 2008, 10:52:53 AM10/17/08
to mobicent...@googlegroups.com
Now that presence is working...i also tried out instant messaging and
file transfer over IMS using MSRP. Now the buddies look good with
their presence.
:)

Jean Deruelle

unread,
Oct 17, 2008, 10:54:48 AM10/17/08
to mobicent...@googlegroups.com
send us a video of you happy :-)

aayush bhatnagar

unread,
Oct 17, 2008, 11:00:41 AM10/17/08
to mobicent...@googlegroups.com
IMS will make it possible for us one day :) ...file transfer using IMS
might even replace email attachments..especially for desktop based IMS
clients!

Amit Bhayani

unread,
Oct 17, 2008, 11:32:39 AM10/17/08
to mobicent...@googlegroups.com
> send us a video of you happy :-)
....

> IMS will make it possible for us one day :)

That presses even harder of how important MMS Video codec is :)
Reply all
Reply to author
Forward
0 new messages