Hello,
On 6/10/11 11:16 PM, IƱaki Baz Castillo wrote:
2011/6/10 Daniel-Constantin Mierlamiconda@gmail.com:
Could you set children to 1, attach with gdb to the sip worker handling the invite, send the call and execute step by step to see which condition fails? A simple config with t_relay() should make the debugging easier.
Hi Daniel. Which worker should I attach? My kamailio listens in UDP and TCP. I send the request via UDP and it should do NAPTR stuf and choose SIP TCP (best priority). So:
Process:: ID=0 PID=26913 Type=attendant Process:: ID=1 PID=26914 Type=udp receiver child=0 sock=192.168.1.16:8080 Process:: ID=2 PID=26915 Type=slow timer Process:: ID=3 PID=26916 Type=timer Process:: ID=4 PID=26917 Type=MI FIFO Process:: ID=5 PID=26918 Type=ctl handler Process:: ID=6 PID=26919 Type=tcp receiver child=0 Process:: ID=7 PID=26920 Type=tcp main process
Which process should I attach? udp receiver?
I've tryed to attach udp receiver process in gdb, and by pressing "next", "next", "next" (running gdb in the kamailio sources directory) I see nothing about dns functions. Could you please give me some indications please?
yes, attach to the process that receives the sip request, in this case the udp receiver.
Then if you use a simple config with t_relay(), go to tm module, see where t_relay() is defined, follow a bit the code and set a breakpoint by file and line number at a convenient location (as much as close to dns lookup functions if you can spot them in the code), so you don't do next/next/ too many times.
Cheers. Daniel