[SR-Users] dispatcher confusion

Klaus Darilion klaus.mailinglists at pernau.at
Mon Feb 28 17:29:27 CET 2011


Hi!

Every time I use the dispatcher(k) module I am confused again. Sometimes
it seems that "probing" is a dedicated state, sometimes it seems that
"probing" is done also in "active" state, but never in "inactive" state.

IMO "probing" should only be a flag which indicates if OPTIONS should
sent or not. If probing is successful, then the state should be
"active". If probing is unsuccessful, then the state should be "inactive".

Current behavior is very strange (ds_probing_mode(0)):

--> startup state: A --> no probing

kamctl fifo ds_set_state i 1 sip:....
--> state: I --> no probing

kamctl fifo ds_set_state a 1 sip:....
--> state: A --> no probing

calling 3 times ds_mark_dst("p")
--> state: P --> probing (and dst is still loaded as last value into the
dst_avp, why?)

kamctl fifo ds_set_state i 1 sip:....
--> state: I --> still probing

kamctl fifo ds_set_state a 1 sip:....
--> state: P (???) --> probing

Thus, "ds_set_state a ..." does not set active, but probing if it was
probing before. Strange.

And as "inactive" does not stop probing when dst was in probing mode,
the destination becomes automatically "active" if the probing succeeds.

And why is a destination in probing mode loaded into the dst_avp? Very
weird.

Is there a reason for this behavior?

Thanks
Klaus





More information about the sr-users mailing list