pickup leads to showing own number as caller at pickup-actor
trying to use pickup with following two steps: in the std-extension for local calls the bridge is extended for later pickup <action application="bridge" data="user/$1@${domain_name},pickup/$1"/> in another extension the pickup-code is checked and if it matches, this action take place: <action application="pickup" data="$1"/> well technical pickup works as expected, but the phone of the actor shows itself as the caller-id... on the network I can see a P-Asserted-Identity-Header at the 200-reply after the pickup-invite, which contains the caller-id, and as I understand, this shouldn't be this value, but that of the real caller, who is picked up. unfortunately various tries to either force a value or simply drop this header have failed. any suggestions? regards w.
Am 29.06.2015 01:02 schrieb "wiebittewas" bzgl. "pickup leads to showing own number as caller at pickup-actor":
trying to use pickup with following two steps:
well technical pickup works as expected, but the phone of the actor shows itself as the caller-id...
build a workaround on my own without using pickup at all: store the uuid of ech incoming call (before bridging): <action application="db" data="insert/pickup/${destination_number}/${this_uuid}"/> get the corresponding uuid: <action application="set" inline="true" data="other_uuid=${db(select/pickup/${blf_target})}"/> get the others channel state (should be RINGING for standard-pickup): <action application="set" inline="true" data="pickup_state=${eval(uuid:${other_uuid} \${Channel-Call-State})}"/> get the other caller_id: <action application="set" inline="true" data="other_id=${eval(uuid:${other_uuid} \${variable_effective_caller_id_number})}"/> to put the data into system: (the variable initial_callee_id_number is the first of four variables used to build the Remote-Party-ID/P-Asserted-Identity-Header in generate_pai_str()) <action application="eval" data="${uuid_setvar ${other_uuid} initial_callee_id_number ${this_id}}"/> <action application="eval" data="${uuid_setvar ${this_uuid} initial_callee_id_number ${other_id}}"/> bridge the two channels: <action application="eval" data="${uuid_answer ${this_uuid}}"/> <action application="eval" data="${uuid_answer ${other_uuid}}"/> <action application="eval" data="${uuid_bridge ${this_uuid} ${other_uuid}}"/> nevertheless I would prefer to have easier possibilities to force certain values of Headers in freeswitch. regards w.
participants (1)
-
wiebittewas