I had the same issue and found this post quite fast but although it says "(solved)" I found no solution. I am leaving my reply here for future reference.
What I did to fix the "It will be discarded" message:
[openhab.cfg]
This sets up the receiving end of the binding i.e. the server that binds the 5005 port.
udp:port=5005
[default.items]
This sets up the openhab binding to the string. Notice the asterisk after the IP address; because the client will connect to the server it will get assigned a random free port. The asterisk will catch all ports a client will get solving the "No channel is active or defined issue".
String String_FF_Bath_Test "Test String[%s]" {udp="<[127.0.0.1:\*:'REGEX((.\*))']"}
[python]
Just some test code to easily send a UDP message to openhab.
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 5005
MESSAGE = "Hello world!"
print "UDP target IP:", UDP_IP
print "UDP target port:", UDP_PORT
print "message:", MESSAGE
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))