- } else
- {
- PDEBUG(DEBUG_JOIN, "sending message ep%ld -> ep%ld.\n", epoint_id, relation->epoint_id);
- message = message_create(j_serial, relation->epoint_id, JOIN_TO_EPOINT, message_type);
- memcpy(&message->param, param, sizeof(union parameter));
- message_put(message);
- PDEBUG(DEBUG_JOIN, "message sent.\n");
- }
-}
-
-
-/* join process is called from the main loop
- * it processes the current calling state.
- * returns 0 if join nothing was done
- */
-int JoinPBX::handler(void)
-{
-// struct join_relation *relation;
-// char dialing[32][32];
-// int port[32];
-// int found;
-// int i, j;
-// char *p;
-
- /* the bridge must be updated */
- if (j_updatebridge)
- {
- bridge();
- j_updatebridge = 0;
- return(1);
+ } else {
+ /* sending message to other relation(s) */
+ relation = j_relation;
+ while(relation) {
+ if (relation->epoint_id != epoint_id) {
+ PDEBUG(DEBUG_JOIN, "sending message ep%ld -> ep%ld.\n", epoint_id, relation->epoint_id);
+ message = message_create(j_serial, relation->epoint_id, JOIN_TO_EPOINT, message_type);
+ memcpy(&message->param, param, sizeof(union parameter));
+ message_put(message);
+ PDEBUG(DEBUG_JOIN, "message sent.\n");
+ }
+ relation = relation->next;
+ }