I don't think you can. The source might not even have a JNDI name - if, for example the message is sent from the messaging provider console, or from spring (rather than from an app server).
I think the message doesn't hold any information about the sender, unless it manually includes it in the form of properties.
Update: The same goes for the destinations - they are uniquely identified by messaging provider name, which again may lack a JNDI name. For example I'm now using ActiveMQ with spring, and there are no JNDI names whatsoever. The JNDI name is the name by which the client refers to a certain Topic/Queue inside its container and is not an information stored in the JMS message.