Hi,

as this part was written by me, I hope to be able to comment ;)

fred wrote:

> in cvs head bb_boxc.c fn int route_incoming_to_boxc(Msg *msg)
> {
> 
> I commented two lines out
>     for(i = 0; i < list_len(smsbox_list); i++) {
>  bc = list_get(smsbox_list, (i+b) % len);
> 
>   //      if (bc->boxc_id != NULL || bc->routable == 0)
> ***
>   //          bc = NULL;
> ***

short: we don't want to route messages to so called "named" boxes or if
these did not sent identify admin command.
long: when smsbox connect to bearerbox then as first ident. admin cmd will
be send with boxc_id. This boxc_id will be used for a routing purposes
between smsboxes within bearerbox. So if this boxc_id is set then _only_
messages that have equal boxc_id will be routed to this box.
routable flag is used to avoid a race conditions between connect and sending
ident. admin cmd.
Your problem is just with a configuration. Make sure you don't have boxc-id
directive for smsbox or define a properly smsbox routing...

> 
>         if (bc != NULL && max_incoming_sms_qlength > 0 &&
>             list_len(bc->incoming) > max_incoming_sms_qlength) {
>             full_found = 1;
>             bc = NULL;
>         }
> 
>         if ((bc != NULL && best != NULL && bc->load < best->load) ||
>              (bc != NULL && best == NULL)) {
>      best = bc;
>         }
>     }
> 
> 
> I was getting smsbox_list empty!
> those two lines didn't make sense to me, can anyone explain this part of
> code ?



Reply via email to