Is It Possible To Perform PJSIP Add Header Prior To Calling Queue And Have It Part Of The INVITE Packet?
Home » Asterisk Users » Is It Possible To Perform PJSIP Add Header Prior To Calling Queue And Have It Part Of The INVITE Packet?
I have a call coming in. I need to add a SIP Header to the channel. Then, I need to send the call to the Queue so it is sent to the Agent.
The SIP header I added, I need to have appear in the INVITE sent to the Agent.
It works in chan_sip. I send the call to a macro which does… n,SIPAddHeader(My-Header-Name:${MY-HEADER-VALUE})
n,Queue(${ARG2})
In PJSIP , this doesn’t seem to work. Is there any way to add custom PJSIP headers to be sent as part of the INVITE to the Agent?
When I look at the code, it seems as though the INVITE doesn’t look for any custom headers to be included with the INVITE packet. Is this correct?
Have a great day!
Dan
9 thoughts on - Is It Possible To Perform PJSIP Add Header Prior To Calling Queue And Have It Part Of The INVITE Packet?
To add a header to the call leg that goes to the agent, try using a local channel to activate dialplan on the outbound call:
Register Local/number@agent in the queue on behalf of the agent (replace number with the agent’s extension number)
In dialplan [agent], wild card match the number, add the header, and then Dial(PJSIP/{$EXTEN}) to send the call to the agent.
VGhhbmtzIFNjb3R0Lg0KDQpJ4oCZbSB0YWtpbmcgb3ZlciBmb3Igc29tZW9uZSBlbHNl4oCZcyBj b2RlLCBzbyBJIG11c3QgYWRtaXQgSeKAmW0gc3RpbGwgbGVhcm5pbmcgdGhlIEFnZW50IGFuZCBR
dWV1ZSBjb25jZXB0cy4gIExvY2FsIGNoYW5uZWxzIGFyZSBzb21ldGhpbmcgSSBoYXZlIG5vdCB1
c2VkIGVpdGhlci4gIFdvdWxkIGxvY2FsIGNoYW5uZWxzIGVzc2VudGlhbGx5IGJlIGFuIGludGVy bmFsIGJyaWRnZT8NCg0KSG93IHdvdWxkIEkNCuKAnFJlZ2lzdGVyIExvY2FsL251bWJlckBhZ2Vu dCBpbiB0aGUgcXVldWUgb24gYmVoYWxmIG9mIHRoZSBhZ2VudCAocmVwbGFjZSBudW1iZXIgd2l0
aCB0aGUgYWdlbnQncyBleHRlbnNpb24gbnVtYmVyKeKAnQ0KDQoNCg0KRnJvbTogYXN0ZXJpc2st dXNlcnMtYm91bmNlc0BsaXN0cy5kaWdpdW0uY29tIFttYWlsdG86YXN0ZXJpc2stdXNlcnMtYm91
bmNlc0BsaXN0cy5kaWdpdW0uY29tXSBPbiBCZWhhbGYgT2YgU2NvdHQgR3JpZXBlbnRyb2cNClNl bnQ6IFRodXJzZGF5LCBBdWd1c3QgMjcsIDIwMTUgMTo1NyBQTQ0KVG86IEFzdGVyaXNrIFVzZXJz IE1haWxpbmcgTGlzdCAtIE5vbi1Db21tZXJjaWFsIERpc2N1c3Npb24NClN1YmplY3Q6IFJlOiBb YXN0ZXJpc2stdXNlcnNdIElzIGl0IHBvc3NpYmxlIHRvIHBlcmZvcm0gUEpTSVAgQWRkIEhlYWRl ciBwcmlvciB0byBjYWxsaW5nIFF1ZXVlIGFuZCBoYXZlIGl0IHBhcnQgb2YgdGhlIElOVklURSBw YWNrZXQ/DQoNClRvIGFkZCBhIGhlYWRlciB0byB0aGUgY2FsbCBsZWcgdGhhdCBnb2VzIHRvIHRo ZSBhZ2VudCwgdHJ5IHVzaW5nIGEgbG9jYWwgY2hhbm5lbCB0byBhY3RpdmF0ZSBkaWFscGxhbiBv biB0aGUgb3V0Ym91bmQgY2FsbDoNCg0KUmVnaXN0ZXIgTG9jYWwvbnVtYmVyQGFnZW50IGluIHRo ZSBxdWV1ZSBvbiBiZWhhbGYgb2YgdGhlIGFnZW50IChyZXBsYWNlIG51bWJlciB3aXRoIHRoZSBh Z2VudCdzIGV4dGVuc2lvbiBudW1iZXIpDQoNCkluIGRpYWxwbGFuIFthZ2VudF0sIHdpbGQgY2Fy ZCBtYXRjaCB0aGUgbnVtYmVyLCBhZGQgdGhlIGhlYWRlciwgYW5kIHRoZW4gRGlhbChQSlNJUC97
JEVYVEVOfSkgdG8gc2VuZCB0aGUgY2FsbCB0byB0aGUgYWdlbnQuDQoNCg0KT24gVGh1LCBBdWcg MjcsIDIwMTUgYXQgMTo0MCBQTSwgRGFuIENyb3BwIDxkYW5AYW10ZWxjby5jb208bWFpbHRvOmRh bkBhbXRlbGNvLmNvbT4+IHdyb3RlOg0KSSBoYXZlIGEgY2FsbCBjb21pbmcgaW4uDQpJIG5lZWQg dG8gYWRkIGEgU0lQIEhlYWRlciB0byB0aGUgY2hhbm5lbC4NClRoZW4sIEkgbmVlZCB0byBzZW5k IHRoZSBjYWxsIHRvIHRoZSBRdWV1ZSBzbyBpdCBpcyBzZW50IHRvIHRoZSBBZ2VudC4NCg0KVGhl IFNJUCBoZWFkZXIgSSBhZGRlZCwgSSBuZWVkIHRvIGhhdmUgYXBwZWFyIGluIHRoZSBJTlZJVEUg c2VudCB0byB0aGUgQWdlbnQuDQoNCkl0IHdvcmtzIGluIGNoYW5fc2lwLiAgSSBzZW5kIHRoZSBj YWxsIHRvIGEgbWFjcm8gd2hpY2ggZG9lc+KApg0KbixTSVBBZGRIZWFkZXIoTXktSGVhZGVyLU5h bWU6JHtNWS1IRUFERVItVkFMVUV9KQ0KbixRdWV1ZSgke0FSRzJ9KQ0KDQoNCkluIFBKU0lQICwg dGhpcyBkb2VzbuKAmXQgc2VlbSB0byB3b3JrLiAgSXMgdGhlcmUgYW55IHdheSB0byBhZGQgY3Vz dG9tIFBKU0lQIGhlYWRlcnMgdG8gYmUgc2VudCBhcyBwYXJ0IG9mIHRoZSBJTlZJVEUgdG8gdGhl IEFnZW50Pw0KV2hlbiBJIGxvb2sgYXQgdGhlIGNvZGUsIGl0IHNlZW1zIGFzIHRob3VnaCB0aGUg SU5WSVRFIGRvZXNu4oCZdCBsb29rIGZvciBhbnkgY3VzdG9tIGhlYWRlcnMgdG8gYmUgaW5jbHVk ZWQgd2l0aCB0aGUgSU5WSVRFIHBhY2tldC4gIElzIHRoaXMgY29ycmVjdD8NCg0KSGF2ZSBhIGdy ZWF0IGRheSENCkRhbg0KDQotLQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQotLSBCYW5kd2lkdGggYW5kIENvbG9j YXRpb24gUHJvdmlkZWQgYnkgaHR0cDovL3d3dy5hcGktZGlnaXRhbC5jb20gLS0NCk5ldyB0byBB
c3Rlcmlzaz8gSm9pbiB1cyBmb3IgYSBsaXZlIGludHJvZHVjdG9yeSB3ZWJpbmFyIGV2ZXJ5IFRo dXJzOg0KICAgICAgICAgICAgICAgaHR0cDovL3d3dy5hc3Rlcmlzay5vcmcvaGVsbG8NCg0KYXN0
ZXJpc2stdXNlcnMgbWFpbGluZyBsaXN0DQpUbyBVTlNVQlNDUklCRSBvciB1cGRhdGUgb3B0aW9u cyB2aXNpdDoNCiAgIGh0dHA6Ly9saXN0cy5kaWdpdW0uY29tL21haWxtYW4vbGlzdGluZm8vYXN0
ZXJpc2stdXNlcnMNCg0KDQoNCi0tDQpbRGlnaXVtIGxvZ29dDQpTY290dCBHcmllcGVudHJvZw0K
RGlnaXVtLCBJbmMgwrcgU29mdHdhcmUgRGV2ZWxvcGVyDQo0NDUgSmFuIERhdmlzIERyaXZlIE5X
IMK3IEh1bnRzdmlsbGUsIEFMIDM1ODA2IMK3IFVTDQpkaXJlY3QvZmF4OiArMSAyNTYgNDI4IDYy MzkgwrcgbW9iaWxlOiArMSAyNTYgNTgwIDYwOTANCkNoZWNrIHVzIG91dCBhdDogaHR0cDovL2Rp Z2l1bS5jb20gwrcgaHR0cDovL2FzdGVyaXNrLm9yZw0K
Local channels:
http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/DeeperDialplan_id324598.html
This explains adding members to queues, although it doesn’t specifically provide an example of using local channels in a queue:
http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/ACD_id289508.html
Basically, read that book, and if you get stuck ask for help.
VGhhbmtzIFNjb3R0Lg0KDQpJIHdhcyBhYmxlIHRvIGdldCB0aGUgYmFzaWMgY29uY2VwdCB0byBy dW4uDQpIb3dldmVyLCBpdCBzZWVtcyBQSlNJUCBJTlZJVEUgZm9yIHRoZSBEaWFsIGFsc28gZG9l cyBub3Qgc3VwcG9ydCBhZGRlZCBoZWFkZXJzLg0KDQpUaGUgTG9jYWwgY2hhbm5lbCBkaWFsIHBs YW4gZGlkIGhhdmUgdGhlIGNoYW5uZWwgdmFyaWFibGUgdmFsdWVzLiAgSSBhZGRlZCB0aGVtIGFz IFNJUCBoZWFkZXJzLCB0aGVuIERpYWwoUEpTSVAvQWdlbnQpLg0KVGhlIElOVklURSBmb3IgdGhl IERpYWwgb24gUEpTSVAgY29udGludWVzIHRvIG5vdCBpbmNsdWRlIHRoZSBTSVAgSGVhZGVycyBJ
IGFkZGVkLg0KDQpGb3IgY2hhbl9zaXAsIEkgaGF2ZSBubyBwcm9ibGVtIHdpdGggdGhpcy4gIEV2
ZW4gdGhlIG9yaWdpbmFsIFF1ZXVlIGNvZGUgSSBoYWQgaW5jbHVkZXMgdGhlIGFkZGVkIFNJUCBo ZWFkZXJzIHdpdGggaXTigJlzIElOVklURSB0byB0aGUgQWdlbnQuDQoNCg0KRnJvbTogYXN0ZXJp c2stdXNlcnMtYm91bmNlc0BsaXN0cy5kaWdpdW0uY29tIFttYWlsdG86YXN0ZXJpc2stdXNlcnMt Ym91bmNlc0BsaXN0cy5kaWdpdW0uY29tXSBPbiBCZWhhbGYgT2YgU2NvdHQgR3JpZXBlbnRyb2cN
ClNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMjcsIDIwMTUgNDoyOCBQTQ0KVG86IEFzdGVyaXNrIFVz ZXJzIE1haWxpbmcgTGlzdCAtIE5vbi1Db21tZXJjaWFsIERpc2N1c3Npb24NClN1YmplY3Q6IFJl OiBbYXN0ZXJpc2stdXNlcnNdIElzIGl0IHBvc3NpYmxlIHRvIHBlcmZvcm0gUEpTSVAgQWRkIEhl YWRlciBwcmlvciB0byBjYWxsaW5nIFF1ZXVlIGFuZCBoYXZlIGl0IHBhcnQgb2YgdGhlIElOVklU
RSBwYWNrZXQ/DQoNCkxvY2FsIGNoYW5uZWxzOiBodHRwOi8vd3d3LmFzdGVyaXNrZG9jcy5vcmcv ZW4vM3JkX0VkaXRpb24vYXN0ZXJpc2stYm9vay1odG1sLWNodW5rL0RlZXBlckRpYWxwbGFuX2lk MzI0NTk4Lmh0bWwNCg0KVGhpcyBleHBsYWlucyBhZGRpbmcgbWVtYmVycyB0byBxdWV1ZXMsIGFs dGhvdWdoIGl0IGRvZXNuJ3Qgc3BlY2lmaWNhbGx5IHByb3ZpZGUgYW4gZXhhbXBsZSBvZiB1c2lu ZyBsb2NhbCBjaGFubmVscyBpbiBhIHF1ZXVlOiBodHRwOi8vd3d3LmFzdGVyaXNrZG9jcy5vcmcv ZW4vM3JkX0VkaXRpb24vYXN0ZXJpc2stYm9vay1odG1sLWNodW5rL0FDRF9pZDI4OTUwOC5odG1s DQoNCkJhc2ljYWxseSwgcmVhZCB0aGF0IGJvb2ssIGFuZCBpZiB5b3UgZ2V0IHN0dWNrIGFzayBm b3IgaGVscC4NCg0KDQpPbiBUaHUsIEF1ZyAyNywgMjAxNSBhdCAzOjA4IFBNLCBEYW4gQ3JvcHAg PGRhbkBhbXRlbGNvLmNvbTxtYWlsdG86ZGFuQGFtdGVsY28uY29tPj4gd3JvdGU6DQpUaGFua3Mg U2NvdHQuDQoNCknigJltIHRha2luZyBvdmVyIGZvciBzb21lb25lIGVsc2XigJlzIGNvZGUsIHNv IEkgbXVzdCBhZG1pdCBJ4oCZbSBzdGlsbCBsZWFybmluZyB0aGUgQWdlbnQgYW5kIFF1ZXVlIGNv bmNlcHRzLiAgTG9jYWwgY2hhbm5lbHMgYXJlIHNvbWV0aGluZyBJIGhhdmUgbm90IHVzZWQgZWl0
aGVyLiAgV291bGQgbG9jYWwgY2hhbm5lbHMgZXNzZW50aWFsbHkgYmUgYW4gaW50ZXJuYWwgYnJp ZGdlPw0KDQpIb3cgd291bGQgSQ0K4oCcUmVnaXN0ZXIgTG9jYWwvbnVtYmVyQGFnZW50IGluIHRo ZSBxdWV1ZSBvbiBiZWhhbGYgb2YgdGhlIGFnZW50IChyZXBsYWNlIG51bWJlciB3aXRoIHRoZSBh Z2VudCdzIGV4dGVuc2lvbiBudW1iZXIp4oCdDQoNCg0KDQpGcm9tOiBhc3Rlcmlzay11c2Vycy1i b3VuY2VzQGxpc3RzLmRpZ2l1bS5jb208bWFpbHRvOmFzdGVyaXNrLXVzZXJzLWJvdW5jZXNAbGlz dHMuZGlnaXVtLmNvbT4gW21haWx0bzphc3Rlcmlzay11c2Vycy1ib3VuY2VzQGxpc3RzLmRpZ2l1
bS5jb208bWFpbHRvOmFzdGVyaXNrLXVzZXJzLWJvdW5jZXNAbGlzdHMuZGlnaXVtLmNvbT5dIE9u IEJlaGFsZiBPZiBTY290dCBHcmllcGVudHJvZw0KU2VudDogVGh1cnNkYXksIEF1Z3VzdCAyNywg MjAxNSAxOjU3IFBNDQpUbzogQXN0ZXJpc2sgVXNlcnMgTWFpbGluZyBMaXN0IC0gTm9uLUNvbW1l cmNpYWwgRGlzY3Vzc2lvbg0KU3ViamVjdDogUmU6IFthc3Rlcmlzay11c2Vyc10gSXMgaXQgcG9z c2libGUgdG8gcGVyZm9ybSBQSlNJUCBBZGQgSGVhZGVyIHByaW9yIHRvIGNhbGxpbmcgUXVldWUg YW5kIGhhdmUgaXQgcGFydCBvZiB0aGUgSU5WSVRFIHBhY2tldD8NCg0KVG8gYWRkIGEgaGVhZGVy IHRvIHRoZSBjYWxsIGxlZyB0aGF0IGdvZXMgdG8gdGhlIGFnZW50LCB0cnkgdXNpbmcgYSBsb2Nh bCBjaGFubmVsIHRvIGFjdGl2YXRlIGRpYWxwbGFuIG9uIHRoZSBvdXRib3VuZCBjYWxsOg0KDQpS
ZWdpc3RlciBMb2NhbC9udW1iZXJAYWdlbnQgaW4gdGhlIHF1ZXVlIG9uIGJlaGFsZiBvZiB0aGUg YWdlbnQgKHJlcGxhY2UgbnVtYmVyIHdpdGggdGhlIGFnZW50J3MgZXh0ZW5zaW9uIG51bWJlcikN
Cg0KSW4gZGlhbHBsYW4gW2FnZW50XSwgd2lsZCBjYXJkIG1hdGNoIHRoZSBudW1iZXIsIGFkZCB0
aGUgaGVhZGVyLCBhbmQgdGhlbiBEaWFsKFBKU0lQL3skRVhURU59KSB0byBzZW5kIHRoZSBjYWxs IHRvIHRoZSBhZ2VudC4NCg0KDQpPbiBUaHUsIEF1ZyAyNywgMjAxNSBhdCAxOjQwIFBNLCBEYW4g Q3JvcHAgPGRhbkBhbXRlbGNvLmNvbTxtYWlsdG86ZGFuQGFtdGVsY28uY29tPj4gd3JvdGU6DQpJ
IGhhdmUgYSBjYWxsIGNvbWluZyBpbi4NCkkgbmVlZCB0byBhZGQgYSBTSVAgSGVhZGVyIHRvIHRo ZSBjaGFubmVsLg0KVGhlbiwgSSBuZWVkIHRvIHNlbmQgdGhlIGNhbGwgdG8gdGhlIFF1ZXVlIHNv IGl0IGlzIHNlbnQgdG8gdGhlIEFnZW50Lg0KDQpUaGUgU0lQIGhlYWRlciBJIGFkZGVkLCBJIG5l ZWQgdG8gaGF2ZSBhcHBlYXIgaW4gdGhlIElOVklURSBzZW50IHRvIHRoZSBBZ2VudC4NCg0KSXQg d29ya3MgaW4gY2hhbl9zaXAuICBJIHNlbmQgdGhlIGNhbGwgdG8gYSBtYWNybyB3aGljaCBkb2Vz
4oCmDQpuLFNJUEFkZEhlYWRlcihNeS1IZWFkZXItTmFtZToke01ZLUhFQURFUi1WQUxVRX0pDQpu LFF1ZXVlKCR7QVJHMn0pDQoNCg0KSW4gUEpTSVAgLCB0aGlzIGRvZXNu4oCZdCBzZWVtIHRvIHdv cmsuICBJcyB0aGVyZSBhbnkgd2F5IHRvIGFkZCBjdXN0b20gUEpTSVAgaGVhZGVycyB0byBiZSBz ZW50IGFzIHBhcnQgb2YgdGhlIElOVklURSB0byB0aGUgQWdlbnQ/DQpXaGVuIEkgbG9vayBhdCB0
aGUgY29kZSwgaXQgc2VlbXMgYXMgdGhvdWdoIHRoZSBJTlZJVEUgZG9lc27igJl0IGxvb2sgZm9y IGFueSBjdXN0b20gaGVhZGVycyB0byBiZSBpbmNsdWRlZCB3aXRoIHRoZSBJTlZJVEUgcGFja2V0
LiAgSXMgdGhpcyBjb3JyZWN0Pw0KDQpIYXZlIGEgZ3JlYXQgZGF5IQ0KRGFuDQoNCi0tDQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCi0tIEJhbmR3aWR0aCBhbmQgQ29sb2NhdGlvbiBQcm92aWRlZCBieSBodHRwOi8v d3d3LmFwaS1kaWdpdGFsLmNvbSAtLQ0KTmV3IHRvIEFzdGVyaXNrPyBKb2luIHVzIGZvciBhIGxp dmUgaW50cm9kdWN0b3J5IHdlYmluYXIgZXZlcnkgVGh1cnM6DQogICAgICAgICAgICAgICBodHRw Oi8vd3d3LmFzdGVyaXNrLm9yZy9oZWxsbw0KDQphc3Rlcmlzay11c2VycyBtYWlsaW5nIGxpc3QN
ClRvIFVOU1VCU0NSSUJFIG9yIHVwZGF0ZSBvcHRpb25zIHZpc2l0Og0KICAgaHR0cDovL2xpc3Rz LmRpZ2l1bS5jb20vbWFpbG1hbi9saXN0aW5mby9hc3Rlcmlzay11c2Vycw0KDQoNCg0KLS0NCltE
aWdpdW0gbG9nb10NClNjb3R0IEdyaWVwZW50cm9nDQpEaWdpdW0sIEluYyDCtyBTb2Z0d2FyZSBE
ZXZlbG9wZXINCjQ0NSBKYW4gRGF2aXMgRHJpdmUgTlcgwrcgSHVudHN2aWxsZSwgQUwgMzU4MDYg wrcgVVMNCmRpcmVjdC9mYXg6ICsxIDI1NiA0MjggNjIzOSDCtyBtb2JpbGU6ICsxIDI1NiA1ODAg NjA5MA0KQ2hlY2sgdXMgb3V0IGF0OiBodHRwOi8vZGlnaXVtLmNvbSDCtyBodHRwOi8vYXN0ZXJp c2sub3JnDQoNCi0tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCi0tIEJhbmR3aWR0aCBhbmQgQ29sb2NhdGlvbiBQ
cm92aWRlZCBieSBodHRwOi8vd3d3LmFwaS1kaWdpdGFsLmNvbSAtLQ0KTmV3IHRvIEFzdGVyaXNr PyBKb2luIHVzIGZvciBhIGxpdmUgaW50cm9kdWN0b3J5IHdlYmluYXIgZXZlcnkgVGh1cnM6DQog ICAgICAgICAgICAgICBodHRwOi8vd3d3LmFzdGVyaXNrLm9yZy9oZWxsbw0KDQphc3Rlcmlzay11
c2VycyBtYWlsaW5nIGxpc3QNClRvIFVOU1VCU0NSSUJFIG9yIHVwZGF0ZSBvcHRpb25zIHZpc2l0
Og0KICAgaHR0cDovL2xpc3RzLmRpZ2l1bS5jb20vbWFpbG1hbi9saXN0aW5mby9hc3Rlcmlzay11
c2Vycw0KDQoNCg0KLS0NCltEaWdpdW0gbG9nb10NClNjb3R0IEdyaWVwZW50cm9nDQpEaWdpdW0s IEluYyDCtyBTb2Z0d2FyZSBEZXZlbG9wZXINCjQ0NSBKYW4gRGF2aXMgRHJpdmUgTlcgwrcgSHVu dHN2aWxsZSwgQUwgMzU4MDYgwrcgVVMNCmRpcmVjdC9mYXg6ICsxIDI1NiA0MjggNjIzOSDCtyBt b2JpbGU6ICsxIDI1NiA1ODAgNjA5MA0KQ2hlY2sgdXMgb3V0IGF0OiBodHRwOi8vZGlnaXVtLmNv bSDCtyBodHRwOi8vYXN0ZXJpc2sub3JnDQo
Are you using this method of setting headers on PJSIP?
https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+Function_PJSIP_HEADER
SSBoYXZlIGJvdGggdGhlIFBKU0lQIGFkZCBhbmQgdGhlIGNoYW5fc2lwIHdheSBvZiBhZGRpbmcg U0lQIGhlYWRlcnMgaW4gdGhlcmUuICBUaGUgVmVyYm9zZSBpcyBzaG93aW5nIHRoZSB2YXJpYWJs ZSB2YWx1ZSBpcyB0aGVyZS4NClRoZSBJTlZJVEUgdG8gUEpTSVAvQWdlbnQxIGRvZXMgbm90IGlu Y2x1ZGUgZWl0aGVyIFgtTXktRE5JRCBvciBYLU15LUROSUQyIGhlYWRlcnMuDQoNCmV4dGVuID0+
IDEyMzQsMSxWZXJib3NlKFgtTXktRE5JRDoke01ZX0ROSUR9KQ0Kc2FtZSA9PiBuLFNldChYLU15
LUROSUQ9JHtNWV9ETklEfSkNCnNhbWUgPT4gbixTZXQoUEpTSVBfSEVBREVSKGFkZCxYLU15LURO
SUQyKT0ke01ZX0ROSUR9KQ0Kc2FtZSA9PiBuLERpYWwoUEpTSVAvQWdlbnQxKQ0KDQoNCkZyb206
IGFzdGVyaXNrLXVzZXJzLWJvdW5jZXNAbGlzdHMuZGlnaXVtLmNvbSBbbWFpbHRvOmFzdGVyaXNr LXVzZXJzLWJvdW5jZXNAbGlzdHMuZGlnaXVtLmNvbV0gT24gQmVoYWxmIE9mIFNjb3R0IEdyaWVw ZW50cm9nDQpTZW50OiBUaHVyc2RheSwgQXVndXN0IDI3LCAyMDE1IDQ6NTggUE0NClRvOiBBc3Rl cmlzayBVc2VycyBNYWlsaW5nIExpc3QgLSBOb24tQ29tbWVyY2lhbCBEaXNjdXNzaW9uDQpTdWJq ZWN0OiBSZTogW2FzdGVyaXNrLXVzZXJzXSBJcyBpdCBwb3NzaWJsZSB0byBwZXJmb3JtIFBKU0lQ
IEFkZCBIZWFkZXIgcHJpb3IgdG8gY2FsbGluZyBRdWV1ZSBhbmQgaGF2ZSBpdCBwYXJ0IG9mIHRo ZSBJTlZJVEUgcGFja2V0Pw0KDQpBcmUgeW91IHVzaW5nIHRoaXMgbWV0aG9kIG9mIHNldHRpbmcg aGVhZGVycyBvbiBQSlNJUD8NCg0KaHR0cHM6Ly93aWtpLmFzdGVyaXNrLm9yZy93aWtpL2Rpc3Bs YXkvQVNUL0FzdGVyaXNrKzEyK0Z1bmN0aW9uX1BKU0lQX0hFQURFUg0KDQoNCk9uIFRodSwgQXVn IDI3LCAyMDE1IGF0IDQ6NTQgUE0sIERhbiBDcm9wcCA8ZGFuQGFtdGVsY28uY29tPG1haWx0bzpk YW5AYW10ZWxjby5jb20+PiB3cm90ZToNClRoYW5rcyBTY290dC4NCg0KSSB3YXMgYWJsZSB0byBn ZXQgdGhlIGJhc2ljIGNvbmNlcHQgdG8gcnVuLg0KSG93ZXZlciwgaXQgc2VlbXMgUEpTSVAgSU5W
SVRFIGZvciB0aGUgRGlhbCBhbHNvIGRvZXMgbm90IHN1cHBvcnQgYWRkZWQgaGVhZGVycy4NCg0K
VGhlIExvY2FsIGNoYW5uZWwgZGlhbCBwbGFuIGRpZCBoYXZlIHRoZSBjaGFubmVsIHZhcmlhYmxl IHZhbHVlcy4gIEkgYWRkZWQgdGhlbSBhcyBTSVAgaGVhZGVycywgdGhlbiBEaWFsKFBKU0lQL0Fn ZW50KS4NClRoZSBJTlZJVEUgZm9yIHRoZSBEaWFsIG9uIFBKU0lQIGNvbnRpbnVlcyB0byBub3Qg aW5jbHVkZSB0aGUgU0lQIEhlYWRlcnMgSSBhZGRlZC4NCg0KRm9yIGNoYW5fc2lwLCBJIGhhdmUg bm8gcHJvYmxlbSB3aXRoIHRoaXMuICBFdmVuIHRoZSBvcmlnaW5hbCBRdWV1ZSBjb2RlIEkgaGFk IGluY2x1ZGVzIHRoZSBhZGRlZCBTSVAgaGVhZGVycyB3aXRoIGl04oCZcyBJTlZJVEUgdG8gdGhl IEFnZW50Lg0KDQoNCkZyb206IGFzdGVyaXNrLXVzZXJzLWJvdW5jZXNAbGlzdHMuZGlnaXVtLmNv bTxtYWlsdG86YXN0ZXJpc2stdXNlcnMtYm91bmNlc0BsaXN0cy5kaWdpdW0uY29tPiBbbWFpbHRv OmFzdGVyaXNrLXVzZXJzLWJvdW5jZXNAbGlzdHMuZGlnaXVtLmNvbTxtYWlsdG86YXN0ZXJpc2st dXNlcnMtYm91bmNlc0BsaXN0cy5kaWdpdW0uY29tPl0gT24gQmVoYWxmIE9mIFNjb3R0IEdyaWVw ZW50cm9nDQpTZW50OiBUaHVyc2RheSwgQXVndXN0IDI3LCAyMDE1IDQ6MjggUE0NCg0KVG86IEFz dGVyaXNrIFVzZXJzIE1haWxpbmcgTGlzdCAtIE5vbi1Db21tZXJjaWFsIERpc2N1c3Npb24NClN1
YmplY3Q6IFJlOiBbYXN0ZXJpc2stdXNlcnNdIElzIGl0IHBvc3NpYmxlIHRvIHBlcmZvcm0gUEpT
SVAgQWRkIEhlYWRlciBwcmlvciB0byBjYWxsaW5nIFF1ZXVlIGFuZCBoYXZlIGl0IHBhcnQgb2Yg dGhlIElOVklURSBwYWNrZXQ/DQoNCkxvY2FsIGNoYW5uZWxzOiBodHRwOi8vd3d3LmFzdGVyaXNr ZG9jcy5vcmcvZW4vM3JkX0VkaXRpb24vYXN0ZXJpc2stYm9vay1odG1sLWNodW5rL0RlZXBlckRp YWxwbGFuX2lkMzI0NTk4Lmh0bWwNCg0KVGhpcyBleHBsYWlucyBhZGRpbmcgbWVtYmVycyB0byBx dWV1ZXMsIGFsdGhvdWdoIGl0IGRvZXNuJ3Qgc3BlY2lmaWNhbGx5IHByb3ZpZGUgYW4gZXhhbXBs ZSBvZiB1c2luZyBsb2NhbCBjaGFubmVscyBpbiBhIHF1ZXVlOiBodHRwOi8vd3d3LmFzdGVyaXNr ZG9jcy5vcmcvZW4vM3JkX0VkaXRpb24vYXN0ZXJpc2stYm9vay1odG1sLWNodW5rL0FDRF9pZDI4
OTUwOC5odG1sDQoNCkJhc2ljYWxseSwgcmVhZCB0aGF0IGJvb2ssIGFuZCBpZiB5b3UgZ2V0IHN0
dWNrIGFzayBmb3IgaGVscC4NCg0KDQpPbiBUaHUsIEF1ZyAyNywgMjAxNSBhdCAzOjA4IFBNLCBE
YW4gQ3JvcHAgPGRhbkBhbXRlbGNvLmNvbTxtYWlsdG86ZGFuQGFtdGVsY28uY29tPj4gd3JvdGU6
DQpUaGFua3MgU2NvdHQuDQoNCknigJltIHRha2luZyBvdmVyIGZvciBzb21lb25lIGVsc2XigJlz IGNvZGUsIHNvIEkgbXVzdCBhZG1pdCBJ4oCZbSBzdGlsbCBsZWFybmluZyB0aGUgQWdlbnQgYW5k IFF1ZXVlIGNvbmNlcHRzLiAgTG9jYWwgY2hhbm5lbHMgYXJlIHNvbWV0aGluZyBJIGhhdmUgbm90
IHVzZWQgZWl0aGVyLiAgV291bGQgbG9jYWwgY2hhbm5lbHMgZXNzZW50aWFsbHkgYmUgYW4gaW50
ZXJuYWwgYnJpZGdlPw0KDQpIb3cgd291bGQgSQ0K4oCcUmVnaXN0ZXIgTG9jYWwvbnVtYmVyQGFn ZW50IGluIHRoZSBxdWV1ZSBvbiBiZWhhbGYgb2YgdGhlIGFnZW50IChyZXBsYWNlIG51bWJlciB3
aXRoIHRoZSBhZ2VudCdzIGV4dGVuc2lvbiBudW1iZXIp4oCdDQoNCg0KDQpGcm9tOiBhc3Rlcmlz ay11c2Vycy1ib3VuY2VzQGxpc3RzLmRpZ2l1bS5jb208bWFpbHRvOmFzdGVyaXNrLXVzZXJzLWJv dW5jZXNAbGlzdHMuZGlnaXVtLmNvbT4gW21haWx0bzphc3Rlcmlzay11c2Vycy1ib3VuY2VzQGxp c3RzLmRpZ2l1bS5jb208bWFpbHRvOmFzdGVyaXNrLXVzZXJzLWJvdW5jZXNAbGlzdHMuZGlnaXVt LmNvbT5dIE9uIEJlaGFsZiBPZiBTY290dCBHcmllcGVudHJvZw0KU2VudDogVGh1cnNkYXksIEF1
Z3VzdCAyNywgMjAxNSAxOjU3IFBNDQpUbzogQXN0ZXJpc2sgVXNlcnMgTWFpbGluZyBMaXN0IC0g Tm9uLUNvbW1lcmNpYWwgRGlzY3Vzc2lvbg0KU3ViamVjdDogUmU6IFthc3Rlcmlzay11c2Vyc10g SXMgaXQgcG9zc2libGUgdG8gcGVyZm9ybSBQSlNJUCBBZGQgSGVhZGVyIHByaW9yIHRvIGNhbGxp bmcgUXVldWUgYW5kIGhhdmUgaXQgcGFydCBvZiB0aGUgSU5WSVRFIHBhY2tldD8NCg0KVG8gYWRk IGEgaGVhZGVyIHRvIHRoZSBjYWxsIGxlZyB0aGF0IGdvZXMgdG8gdGhlIGFnZW50LCB0cnkgdXNp bmcgYSBsb2NhbCBjaGFubmVsIHRvIGFjdGl2YXRlIGRpYWxwbGFuIG9uIHRoZSBvdXRib3VuZCBj YWxsOg0KDQpSZWdpc3RlciBMb2NhbC9udW1iZXJAYWdlbnQgaW4gdGhlIHF1ZXVlIG9uIGJlaGFs ZiBvZiB0aGUgYWdlbnQgKHJlcGxhY2UgbnVtYmVyIHdpdGggdGhlIGFnZW50J3MgZXh0ZW5zaW9u IG51bWJlcikNCg0KSW4gZGlhbHBsYW4gW2FnZW50XSwgd2lsZCBjYXJkIG1hdGNoIHRoZSBudW1i ZXIsIGFkZCB0aGUgaGVhZGVyLCBhbmQgdGhlbiBEaWFsKFBKU0lQL3skRVhURU59KSB0byBzZW5k IHRoZSBjYWxsIHRvIHRoZSBhZ2VudC4NCg0KDQpPbiBUaHUsIEF1ZyAyNywgMjAxNSBhdCAxOjQw IFBNLCBEYW4gQ3JvcHAgPGRhbkBhbXRlbGNvLmNvbTxtYWlsdG86ZGFuQGFtdGVsY28uY29tPj4g d3JvdGU6DQpJIGhhdmUgYSBjYWxsIGNvbWluZyBpbi4NCkkgbmVlZCB0byBhZGQgYSBTSVAgSGVh ZGVyIHRvIHRoZSBjaGFubmVsLg0KVGhlbiwgSSBuZWVkIHRvIHNlbmQgdGhlIGNhbGwgdG8gdGhl IFF1ZXVlIHNvIGl0IGlzIHNlbnQgdG8gdGhlIEFnZW50Lg0KDQpUaGUgU0lQIGhlYWRlciBJIGFk ZGVkLCBJIG5lZWQgdG8gaGF2ZSBhcHBlYXIgaW4gdGhlIElOVklURSBzZW50IHRvIHRoZSBBZ2Vu dC4NCg0KSXQgd29ya3MgaW4gY2hhbl9zaXAuICBJIHNlbmQgdGhlIGNhbGwgdG8gYSBtYWNybyB3
aGljaCBkb2Vz4oCmDQpuLFNJUEFkZEhlYWRlcihNeS1IZWFkZXItTmFtZToke01ZLUhFQURFUi1W
QUxVRX0pDQpuLFF1ZXVlKCR7QVJHMn0pDQoNCg0KSW4gUEpTSVAgLCB0aGlzIGRvZXNu4oCZdCBz ZWVtIHRvIHdvcmsuICBJcyB0aGVyZSBhbnkgd2F5IHRvIGFkZCBjdXN0b20gUEpTSVAgaGVhZGVy cyB0byBiZSBzZW50IGFzIHBhcnQgb2YgdGhlIElOVklURSB0byB0aGUgQWdlbnQ/DQpXaGVuIEkg bG9vayBhdCB0aGUgY29kZSwgaXQgc2VlbXMgYXMgdGhvdWdoIHRoZSBJTlZJVEUgZG9lc27igJl0
IGxvb2sgZm9yIGFueSBjdXN0b20gaGVhZGVycyB0byBiZSBpbmNsdWRlZCB3aXRoIHRoZSBJTlZJ
VEUgcGFja2V0LiAgSXMgdGhpcyBjb3JyZWN0Pw0KDQpIYXZlIGEgZ3JlYXQgZGF5IQ0KRGFuDQoN
Ci0tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCi0tIEJhbmR3aWR0aCBhbmQgQ29sb2NhdGlvbiBQcm92aWRlZCBi eSBodHRwOi8vd3d3LmFwaS1kaWdpdGFsLmNvbSAtLQ0KTmV3IHRvIEFzdGVyaXNrPyBKb2luIHVz IGZvciBhIGxpdmUgaW50cm9kdWN0b3J5IHdlYmluYXIgZXZlcnkgVGh1cnM6DQogICAgICAgICAg ICAgICBodHRwOi8vd3d3LmFzdGVyaXNrLm9yZy9oZWxsbw0KDQphc3Rlcmlzay11c2VycyBtYWls aW5nIGxpc3QNClRvIFVOU1VCU0NSSUJFIG9yIHVwZGF0ZSBvcHRpb25zIHZpc2l0Og0KICAgaHR0
cDovL2xpc3RzLmRpZ2l1bS5jb20vbWFpbG1hbi9saXN0aW5mby9hc3Rlcmlzay11c2Vycw0KDQoN
Cg0KLS0NCltEaWdpdW0gbG9nb10NClNjb3R0IEdyaWVwZW50cm9nDQpEaWdpdW0sIEluYyDCtyBT
b2Z0d2FyZSBEZXZlbG9wZXINCjQ0NSBKYW4gRGF2aXMgRHJpdmUgTlcgwrcgSHVudHN2aWxsZSwg QUwgMzU4MDYgwrcgVVMNCmRpcmVjdC9mYXg6ICsxIDI1NiA0MjggNjIzOSDCtyBtb2JpbGU6ICsx IDI1NiA1ODAgNjA5MA0KQ2hlY2sgdXMgb3V0IGF0OiBodHRwOi8vZGlnaXVtLmNvbSDCtyBodHRw Oi8vYXN0ZXJpc2sub3JnDQoNCi0tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCi0tIEJhbmR3aWR0aCBhbmQgQ29s b2NhdGlvbiBQcm92aWRlZCBieSBodHRwOi8vd3d3LmFwaS1kaWdpdGFsLmNvbSAtLQ0KTmV3IHRv IEFzdGVyaXNrPyBKb2luIHVzIGZvciBhIGxpdmUgaW50cm9kdWN0b3J5IHdlYmluYXIgZXZlcnkg VGh1cnM6DQogICAgICAgICAgICAgICBodHRwOi8vd3d3LmFzdGVyaXNrLm9yZy9oZWxsbw0KDQph c3Rlcmlzay11c2VycyBtYWlsaW5nIGxpc3QNClRvIFVOU1VCU0NSSUJFIG9yIHVwZGF0ZSBvcHRp b25zIHZpc2l0Og0KICAgaHR0cDovL2xpc3RzLmRpZ2l1bS5jb20vbWFpbG1hbi9saXN0aW5mby9h c3Rlcmlzay11c2Vycw0KDQoNCg0KLS0NCltEaWdpdW0gbG9nb10NClNjb3R0IEdyaWVwZW50cm9n DQpEaWdpdW0sIEluYyDCtyBTb2Z0d2FyZSBEZXZlbG9wZXINCjQ0NSBKYW4gRGF2aXMgRHJpdmUg TlcgwrcgSHVudHN2aWxsZSwgQUwgMzU4MDYgwrcgVVMNCmRpcmVjdC9mYXg6ICsxIDI1NiA0Mjgg NjIzOSDCtyBtb2JpbGU6ICsxIDI1NiA1ODAgNjA5MA0KQ2hlY2sgdXMgb3V0IGF0OiBodHRwOi8v ZGlnaXVtLmNvbSDCtyBodHRwOi8vYXN0ZXJpc2sub3JnDQoNCi0tDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCi0t IEJhbmR3aWR0aCBhbmQgQ29sb2NhdGlvbiBQcm92aWRlZCBieSBodHRwOi8vd3d3LmFwaS1kaWdp dGFsLmNvbSAtLQ0KTmV3IHRvIEFzdGVyaXNrPyBKb2luIHVzIGZvciBhIGxpdmUgaW50cm9kdWN0
b3J5IHdlYmluYXIgZXZlcnkgVGh1cnM6DQogICAgICAgICAgICAgICBodHRwOi8vd3d3LmFzdGVy aXNrLm9yZy9oZWxsbw0KDQphc3Rlcmlzay11c2VycyBtYWlsaW5nIGxpc3QNClRvIFVOU1VCU0NS
SUJFIG9yIHVwZGF0ZSBvcHRpb25zIHZpc2l0Og0KICAgaHR0cDovL2xpc3RzLmRpZ2l1bS5jb20v bWFpbG1hbi9saXN0aW5mby9hc3Rlcmlzay11c2Vycw0KDQoNCg0KLS0NCltEaWdpdW0gbG9nb10N
ClNjb3R0IEdyaWVwZW50cm9nDQpEaWdpdW0sIEluYyDCtyBTb2Z0d2FyZSBEZXZlbG9wZXINCjQ0
NSBKYW4gRGF2aXMgRHJpdmUgTlcgwrcgSHVudHN2aWxsZSwgQUwgMzU4MDYgwrcgVVMNCmRpcmVj dC9mYXg6ICsxIDI1NiA0MjggNjIzOSDCtyBtb2JpbGU6ICsxIDI1NiA1ODAgNjA5MA0KQ2hlY2sg dXMgb3V0IGF0OiBodHRwOi8vZGlnaXVtLmNvbSDCtyBodHRwOi8vYXN0ZXJpc2sub3JnDQo
Den 2015-08-28 kl. 00:07, skrev Dan Cropp:
You have to use an pre-dial handler option in the Dial command:
same => n,Dial(PJSIP/Agent1,,b(set_header^s^1))
[set_header]
exten => s,1,Set(PJSIP_HEADER(add,X-My-DNID2)=${MY_DNID})
same => n,Return
/niklas
Thank you Niklas
That solved my problem.
From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Niklas Larsson Sent: Friday, August 28, 2015 1:55 AM
To: asterisk-users@lists.digium.com Subject: Re: [asterisk-users] Is it possible to perform PJSIP Add Header prior to calling Queue and have it part of the INVITE packet?
Den 2015-08-28 kl. 00:07, skrev Dan Cropp:
I have both the PJSIP add and the chan_sip way of adding SIP headers in there. The Verbose is showing the variable value is there. The INVITE to PJSIP/Agent1 does not include either X-My-DNID or X-My-DNID2 headers.
You have to use an pre-dial handler option in the Dial command:
same => n,Dial(PJSIP/Agent1,,b(set_header^s^1))
[set_header]
exten => s,1,Set(PJSIP_HEADER(add,X-My-DNID2)=${MY_DNID})
same => n,Return
/niklas
I’m running into a new problem because of the Local channels.
I add Local/Agent1 using QueueAdd. When the PJSIP Agent dials a feature code, it adds/removes/pauses/unpauses the appropriate EmergencyAgent for the queue.
When the code executes the Queue, I was planning to have that Local section dial plan Dial the appropriate PJSIP EmergencyAgent endpoint (using the pre-dial).
However, the Queue never sees the local channels because they have no device state.
[Aug 28 18:05:06] DEBUG[17868][C-00000004] app_queue.c: TestApp_EmergencyAgent5 is unavailable because his device state is ‘invalid’
[Aug 28 18:05:06] DEBUG[17868][C-00000004] app_queue.c: TestApp_EmergencyAgent3 is unavailable because his device state is ‘invalid’
[Aug 28 18:05:06] DEBUG[17868][C-00000004] app_queue.c: TestApp_EmergencyAgent2 is unavailable because his device state is ‘invalid’
[Aug 28 18:05:06] DEBUG[17868][C-00000004] app_queue.c: TestApp_EmergencyAgent1 is unavailable because his device state is ‘invalid’
It seems I may be stuck using chan_sip since it’s Queue behavior does add any SIPADDHEADERs when it executes the INVITE.
From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Dan Cropp Sent: Friday, August 28, 2015 8:20 AM
To: Asterisk Users Mailing List – Non-Commercial Discussion Subject: Re: [asterisk-users] Is it possible to perform PJSIP Add Header prior to calling Queue and have it part of the INVITE packet?
Thank you Niklas
That solved my problem.
From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Niklas Larsson Sent: Friday, August 28, 2015 1:55 AM
To: asterisk-users@lists.digium.com
Subject: Re: [asterisk-users] Is it possible to perform PJSIP Add Header prior to calling Queue and have it part of the INVITE packet?
Den 2015-08-28 kl. 00:07, skrev Dan Cropp:
I have both the PJSIP add and the chan_sip way of adding SIP headers in there. The Verbose is showing the variable value is there. The INVITE to PJSIP/Agent1 does not include either X-My-DNID or X-My-DNID2 headers.
You have to use an pre-dial handler option in the Dial command:
same => n,Dial(PJSIP/Agent1,,b(set_header^s^1))
[set_header]
exten => s,1,Set(PJSIP_HEADER(add,X-My-DNID2)=${MY_DNID})
same => n,Return
/niklas