[OpenSIPS-Devel] [ opensips-Bugs-2166279 ] mi_datagram: broken udp socket

SourceForge.net noreply at sourceforge.net
Wed Oct 15 09:41:22 CEST 2008


Bugs item #2166279, was opened at 2008-10-14 18:03
Message generated for change (Settings changed) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2166279&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: 1.4.x
Status: Open
>Resolution: Invalid
>Priority: 7
Private: No
Submitted By: Ovidiu Sas (osas)
>Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: mi_datagram: broken udp socket

Initial Comment:
The mi_datagram module works fine with unix sockets, but it doesn't work
with udp socket:

The UDP commands are received and handled by the module, but no UDP reply
is issued.

Here's how to send a udp command to the server:
echo -ne :which:\\n\\n | nc -w 1 -u <host> <port>

The debug logs are showing the command being processed but there's no reply
sent back.

Here's the debug output for a received ":which:\n\n" UDP packet:

Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: received :which:   
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: mi_buf is :which:   and we have received 9 bytes 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:identify_command: the command starts here: which:   
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:identify_command: the command is which 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:identify_command: dtgram->len is 9 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:identify_command: dtgram->len is 1 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: we have a valid command  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: after identifing the command, the received datagram is    
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: the command has no params 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: done parsing the mi tree 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: command process (which)succeded 
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <get_statistics>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <reset_statistics>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <uptime>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <version>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <pwd>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <arg>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <which>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ps>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <kill>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <debug>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <list_blacklists>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <t_uac_dlg>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <t_uac_cancel>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <t_hash>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <t_reply>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <dlg_list>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <dlg_list_ctx>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <dlg_end_dlg>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <profile_get_size>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <profile_list_dlgs>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <lcr_reload>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <lcr_dump>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_reload_routes>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_dump_routes>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_replace_host>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_deactivate_host>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_activate_host>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_add_host>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <cr_delete_host>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_stats>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_set_pipe>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_get_pipes>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_set_queue>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_get_queues>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_set_pid>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_get_pid>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_push_load>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <rl_set_dbg>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <trusted_reload>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <trusted_dump>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <address_reload>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <address_dump>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <subnet_dump>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <allow_uri>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <set_gflag>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <reset_gflag>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <is_gflag>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <get_gflags>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ul_rm>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ul_rm_contact>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ul_dump>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ul_flush>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ul_add>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <ul_show_contact>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <dp_reload>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_write_node: writing the name <> and value <dp_translate>  
Oct 14 13:27:10 ims o[7343]: DBG:mi_datagram:mi_datagram_server: the response: 200 OK get_statistics reset_statistics uptime version pwd arg which ps kill debug list_blacklists t_uac_dlg t_uac_cancel t_hash t_reply dlg_list dlg_list_ctx dlg_end_dlg profile_get_size profile_list_dlgs lcr_reload lcr_dump cr_reload_routes cr_dump_routes cr_replace_host cr_deactivate_host cr_activate_host cr_add_host cr_delete_host rl_stats rl_set_pipe rl_get_pipes rl_set_queue rl_get_queues rl_set_pid rl_get_pid rl_push_load rl_set_dbg trusted_reload trusted_dump address_reload address_dump subnet_dump allow_uri set_gflag reset_gflag is_gflag get_gflags ul_rm ul_rm_contact ul_dump ul_flush ul_add ul_show_contact dp_reload dp_translate  has been sent in 646 octets 


The output of the ngrep command:
# ngrep -qt -d any port 8888 
interface: any
filter: (ip or ip6) and ( port 8888 )

U 2008/10/14 13:27:10.655282 10.11.10.148:33342 -> 10.11.10.63:8888
  :which:..                                                                                                                                                            


Regards,
Ovidiu Sas

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2166279&group_id=232389



More information about the Devel mailing list