@@ -222,6 +222,7 @@ struct config_update_entry {
222222 char * userid ;
223223 char * clientid ;
224224 int conv_type ;
225+ bool meeting ;
225226
226227 struct le le ;
227228};
@@ -2367,35 +2368,41 @@ static int add_wcall(struct wcall **wcall,
23672368 struct econn_message * msg ,
23682369 const char * convid ,
23692370 const char * userid ,
2370- int conv_type )
2371+ int conv_type ,
2372+ bool meeting )
23712373{
23722374 int err = 0 ;
23732375
23742376 if (msg -> msg_type == ECONN_GROUP_START
23752377 && econn_message_isrequest (msg )) {
23762378 err = wcall_add (inst , wcall , convid ,
2377- WCALL_CONV_TYPE_GROUP );
2379+ WCALL_CONV_TYPE_GROUP ,
2380+ meeting );
23782381 }
23792382 else if (msg -> msg_type == ECONN_GROUP_CHECK
23802383 && !econn_message_isrequest (msg )) {
23812384 err = wcall_add (inst , wcall , convid ,
2382- WCALL_CONV_TYPE_GROUP );
2385+ WCALL_CONV_TYPE_GROUP ,
2386+ meeting );
23832387 }
23842388 else if (msg -> msg_type == ECONN_CONF_START
23852389 && econn_message_isrequest (msg )) {
23862390 err = wcall_add (inst , wcall , convid ,
23872391 conv_type == WCALL_CONV_TYPE_CONFERENCE_MLS ? conv_type :
2388- WCALL_CONV_TYPE_CONFERENCE );
2392+ WCALL_CONV_TYPE_CONFERENCE ,
2393+ meeting );
23892394 }
23902395 else if (msg -> msg_type == ECONN_CONF_CHECK
23912396 && !econn_message_isrequest (msg )) {
23922397 err = wcall_add (inst , wcall , convid ,
23932398 conv_type == WCALL_CONV_TYPE_CONFERENCE_MLS ? conv_type :
2394- WCALL_CONV_TYPE_CONFERENCE );
2399+ WCALL_CONV_TYPE_CONFERENCE ,
2400+ meeting );
23952401 }
23962402 else if (econn_is_creator (inst -> userid , userid , msg )) {
23972403 err = wcall_add (inst , wcall , convid ,
2398- WCALL_CONV_TYPE_ONEONONE );
2404+ WCALL_CONV_TYPE_ONEONONE ,
2405+ meeting );
23992406 if (err ) {
24002407 warning ("wcall(%p): wcall_add failed: %m\n" , inst , err );
24012408 }
@@ -2456,7 +2463,8 @@ static void config_update_handler(struct call_config *cfg, void *arg)
24562463 cuent -> msg ,
24572464 cuent -> convid ,
24582465 cuent -> userid ,
2459- cuent -> conv_type );
2466+ cuent -> conv_type ,
2467+ cuent -> meeting );
24602468 if (err ) {
24612469 warning ("wcall(%p): config_update failed to add wcall: %m\n" , inst , err );
24622470 }
@@ -3233,13 +3241,14 @@ void wcall_i_recv_msg(struct calling_instance *inst,
32333241 str_dup (& cuent -> userid , userid );
32343242 str_dup (& cuent -> clientid , clientid );
32353243 cuent -> conv_type = conv_type ;
3244+ cuent -> meeting = meeting ;
32363245
32373246 list_append (& inst -> config_updatel , & cuent -> le , cuent );
32383247 err = 0 ;
32393248 goto out ;
32403249 }
32413250
3242- err = add_wcall (& wcall , inst , msg , convid , userid , conv_type );
3251+ err = add_wcall (& wcall , inst , msg , convid , userid , conv_type , meeting );
32433252 if (err ) {
32443253 warning ("wcall(%p): failed to add wcall: %m\n" , inst , err );
32453254 goto out ;
0 commit comments