<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def encode_endpoint_props(ed):
 """ Encodes the properties of the given EndpointDescription """

    props = encode_osgi_props(ed)
    props[ECF_RSVC_ID] = "{0}".format(ed.get_remoteservice_id()[1])
    props[ECF_ENDPOINT_ID] = "{0}".format(ed.get_container_id()[1])
    props[ECF_ENDPOINT_CONTAINERID_NAMESPACE] = "{0}".format(
        ed.get_container_id()[0]
    )
    props[ECF_ENDPOINT_TIMESTAMP] = "{0}".format(ed.get_timestamp())
    ctid = ed.get_connect_target_id()
    if ctid:
        props[ECF_ENDPOINT_CONNECTTARGET_ID] = "{0}".format(ctid)
    id_filters = ed.get_id_filters()
    if id_filters:
        props[ECF_ENDPOINT_IDFILTER_IDS] = " ".join([x[1] for x in id_filters])
    rs_filter = ed.get_remoteservice_filter()
    if rs_filter:
        props[ECF_ENDPOINT_REMOTESERVICE_FILTER] = ed.get_remoteservice_filter()
    async_intfs = ed.get_async_interfaces()
    if async_intfs:
        props[ECF_SERVICE_EXPORTED_ASYNC_INTERFACES] = " ".join(async_intfs)

    all_props = ed.get_properties()
    other_props = {
        key: all_props[key]
        for key in all_props.keys()
        if not is_reserved_property(key)
    }
    return merge_dicts(props, other_props)