@@ -237,6 +237,7 @@ struct config_update_entry {
237237 char * userid ;
238238 char * clientid ;
239239 int conv_type ;
240+ bool meeting ;
240241
241242 struct le le ;
242243};
@@ -2432,35 +2433,41 @@ static int add_wcall(struct wcall **wcall,
24322433 struct econn_message * msg ,
24332434 const char * convid ,
24342435 const char * userid ,
2435- int conv_type )
2436+ int conv_type ,
2437+ bool meeting )
24362438{
24372439 int err = 0 ;
24382440
24392441 if (msg -> msg_type == ECONN_GROUP_START
24402442 && econn_message_isrequest (msg )) {
24412443 err = wcall_add (inst , wcall , convid ,
2442- WCALL_CONV_TYPE_GROUP );
2444+ WCALL_CONV_TYPE_GROUP ,
2445+ meeting );
24432446 }
24442447 else if (msg -> msg_type == ECONN_GROUP_CHECK
24452448 && !econn_message_isrequest (msg )) {
24462449 err = wcall_add (inst , wcall , convid ,
2447- WCALL_CONV_TYPE_GROUP );
2450+ WCALL_CONV_TYPE_GROUP ,
2451+ meeting );
24482452 }
24492453 else if (msg -> msg_type == ECONN_CONF_START
24502454 && econn_message_isrequest (msg )) {
24512455 err = wcall_add (inst , wcall , convid ,
24522456 conv_type == WCALL_CONV_TYPE_CONFERENCE_MLS ? conv_type :
2453- WCALL_CONV_TYPE_CONFERENCE );
2457+ WCALL_CONV_TYPE_CONFERENCE ,
2458+ meeting );
24542459 }
24552460 else if (msg -> msg_type == ECONN_CONF_CHECK
24562461 && !econn_message_isrequest (msg )) {
24572462 err = wcall_add (inst , wcall , convid ,
24582463 conv_type == WCALL_CONV_TYPE_CONFERENCE_MLS ? conv_type :
2459- WCALL_CONV_TYPE_CONFERENCE );
2464+ WCALL_CONV_TYPE_CONFERENCE ,
2465+ meeting );
24602466 }
24612467 else if (econn_is_creator (inst -> userid , userid , msg )) {
24622468 err = wcall_add (inst , wcall , convid ,
2463- WCALL_CONV_TYPE_ONEONONE );
2469+ WCALL_CONV_TYPE_ONEONONE ,
2470+ meeting );
24642471 if (err ) {
24652472 warning ("wcall(%p): wcall_add failed: %m\n" , inst , err );
24662473 }
@@ -2521,7 +2528,8 @@ static void config_update_handler(struct call_config *cfg, void *arg)
25212528 cuent -> msg ,
25222529 cuent -> convid ,
25232530 cuent -> userid ,
2524- cuent -> conv_type );
2531+ cuent -> conv_type ,
2532+ cuent -> meeting );
25252533 if (err ) {
25262534 warning ("wcall(%p): config_update failed to add wcall: %m\n" , inst , err );
25272535 }
@@ -3298,13 +3306,14 @@ void wcall_i_recv_msg(struct calling_instance *inst,
32983306 str_dup (& cuent -> userid , userid );
32993307 str_dup (& cuent -> clientid , clientid );
33003308 cuent -> conv_type = conv_type ;
3309+ cuent -> meeting = meeting ;
33013310
33023311 list_append (& inst -> config_updatel , & cuent -> le , cuent );
33033312 err = 0 ;
33043313 goto out ;
33053314 }
33063315
3307- err = add_wcall (& wcall , inst , msg , convid , userid , conv_type );
3316+ err = add_wcall (& wcall , inst , msg , convid , userid , conv_type , meeting );
33083317 if (err ) {
33093318 warning ("wcall(%p): failed to add wcall: %m\n" , inst , err );
33103319 goto out ;
0 commit comments