<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def onUserJoinedCall( self, mid=None, joined_id=None, is_video_call=None, thread_id=None, thread_type=None, ts=None, metadata=None, msg=None, ):
 """ Called when the client is listening, and somebody joins a group call :param mid: The action ID :param joined_id: The ID of the person who joined the call :param is_video_call: True if it's video call :param thread_id: Thread ID that the action was sent to. See :ref:`intro_threads` :param thread_type: Type of thread that the action was sent to. See :ref:`intro_threads` :param ts: A timestamp of the action :param metadata: Extra metadata about the action :param msg: A full set of the data recieved :type thread_type: models.ThreadType """

        log.info(
            "{} joined call in {} ({})".format(joined_id, thread_id, thread_type.name)
        )