19 Jul 2012 23:24
Re: Need to set Outbound CID of Asterisk server from PJSIP client
Norman Franke <norman <at> myasd.com>
2012-07-19 21:24:28 GMT
2012-07-19 21:24:28 GMT
In my PJSIP app:
pjsua_msg_data md;
pjsua_msg_data_init(&md);
pjsip_generic_string_hdr hdr1, hdr2, hdr3, hdr4;
pj_str_t hvalue, hname;
if (inCID && strlen(inCID) == 10 && IsAllDigits(inCID)) {
hname = pj_str("X-ASD-CID");
pj_cstr(&hvalue, inCID);
pjsip_generic_string_hdr_init2(&hdr4, &hname, &hvalue);
pj_list_push_back(&md.hdr_list, &hdr4);
}
Dialplan (this is for an admittedly old asterisk install.)
exten => _7XXXXXXXXXX,1,Set(CALLERID(num)=${SIP_HEADER(X-ASD-CID)})
exten => _7XXXXXXXXXX,n,Goto(outgoing,${EXTEN:1},1)
On Jul 19, 2012, at 5:12 PM, Sandip Dhummad wrote:
First of all, I really appreciate the quick response from you. I went crazy 2 days on Google and did not find anything meaningful.Numbers are good enough for me. Would it be possible for you to provide me some code snippet at PJSIP as well as at Asterisk level?
Thanks for your help!!
Thanks & Regards,
Sandip Dhummad
From: Norman Franke <norman <at> myasd.com>
To: Sandip Dhummad <sandipmit <at> yahoo.com>; pjsip list <pjsip <at> lists.pjsip.org>
Sent: Thursday, July 19, 2012 5:05 PM
Subject: Re: [pjsip] Need to set Outbound CID of Asterisk server from PJSIP client
I've done something similar, although just number in our case. Names aren't transmitted across the public phone network. To do this, I added a custom header and then have a dial plan rule that extracts it and sets the appropriate variables for Asterisk.Norman FrankeAnswering Service for Directors, Inc.
On Jul 19, 2012, at 5:01 PM, Sandip Dhummad wrote:_______________________________________________Hi There,I am working on writing VoIP soft phone interface interacting with Asterisk PBX server. I decided to use PJSIP libraries in back end. The code works perfectly fine for making outbound calls. Recently I got a request to allow user to set their outbound CID(Caller ID) number/name from soft phone interface. I have already tested that functionality at Asterisk server level through a Java program invoking Asterisk API overriding the Outbound CID with user defined value. It works perfectly fine. I want to implement same function on my PJSIP based soft phone. I did not find any property called Outbound CID either at pjsua_acc_config struct level and/or at pjusa_call_make level.
I had searched on Google to find a solution. I found few things that can solve the problem but none of them worked.1. Set display name in front of From SIP URL, like "John" <sip:#### <at> ###.###.##.##>2. Set force_contact property of pjsua_acc_config struct as an URL similar to above URL
Please help!! Thanks in advance for the same!!
Thanks & Regards,
Sandip Dhummad
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip <at> lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
<div>In my PJSIP app:<div><br></div>
<div>
<div>
<span><span class="Apple-tab-span"> </span></span>pjsua_msg_data<span> md;</span>
</div>
<div>
<span><span class="Apple-tab-span"> </span></span>pjsua_msg_data_init<span>(&md);</span>
</div>
<div>
<span class="Apple-tab-span"> </span><span>pjsip_generic_string_hdr</span> hdr1, hdr2, hdr3, hdr4;</div>
<div>
<span class="Apple-tab-span"> </span><span>pj_str_t</span> hvalue, hname;</div>
<div><br></div>
<div>
<span class="Apple-tab-span"> </span><span>if</span> (inCID && <span>strlen</span>(inCID) == <span>10</span> && <span>IsAllDigits</span>(inCID)) {</div>
<div>
<span class="Apple-tab-span"> </span>hname = <span>pj_str</span>(<span>"X-ASD-CID"</span>);</div>
<div>
<span class="Apple-tab-span"> </span><span>pj_cstr</span>(&hvalue, inCID);</div>
<div>
<span><span class="Apple-tab-span"> </span></span>pjsip_generic_string_hdr_init2<span>(&hdr4, &hname, &hvalue);</span>
</div>
<div>
<span><span class="Apple-tab-span"> </span></span>pj_list_push_back<span>(&md.</span><span>hdr_list</span><span>, &hdr4);</span>
</div>
</div>
<div><span><div>
<span class="Apple-tab-span"> </span>}</div>
<div><br></div></span></div>
<div>Dialplan (this is for an admittedly old asterisk install.)</div>
<div><br></div>
<div>
<div>exten => _7XXXXXXXXXX,1,Set(CALLERID(num)=${SIP_HEADER(X-ASD-CID)})</div>
<div>exten => _7XXXXXXXXXX,n,Goto(outgoing,${EXTEN:1},1)</div>
</div>
<div><br></div>
<div>
<br><div>
<div><div><div><div><div>
<div>Norman Franke</div>
<div>Answering Service for Directors, Inc.</div>
<div><a href="http://www.myasd.com">www.myasd.com</a></div>
<div><br></div>
</div></div></div></div></div>
<br class="Apple-interchange-newline">
</div>
<br><div>
<div>On Jul 19, 2012, at 5:12 PM, Sandip Dhummad wrote:</div>
<br class="Apple-interchange-newline"><blockquote type="cite"><div><div>
<div><span>First of all, I really appreciate the quick response from you. I went crazy 2 days on Google and did not find anything meaningful. <br></span></div>
<div><span><br></span></div>
<div><span>Numbers are good enough for me. Would it be possible for you to provide me some code snippet at PJSIP as well as at Asterisk level? <br></span></div>
<div> <br>Thanks for your help!!<br><br>Thanks & Regards,<br>
</div>
<div><div><div><div>Sandip Dhummad<br>
</div></div></div></div>
<div><br></div> <div> <div> <div dir="ltr"> <span>From:</span> Norman Franke <<a href="mailto:norman <at> myasd.com">norman <at> myasd.com</a>><br><span>To:</span> Sandip Dhummad <<a href="mailto:sandipmit <at> yahoo.com">sandipmit <at> yahoo.com</a>>; pjsip list <<a href="mailto:pjsip <at> lists.pjsip.org">pjsip <at> lists.pjsip.org</a>> <br><span>Sent:</span> Thursday, July 19, 2012 5:05 PM<br><span>Subject:</span> Re: [pjsip] Need to set Outbound CID of Asterisk server from PJSIP client<br> </div> <br><div><div>
<div>I've done something similar, although just number in our case. Names aren't transmitted across the public phone network. To do this, I added a custom header and then have a dial plan rule that extracts it and sets the appropriate variables for Asterisk. </div>
<br><div>
<span class="yiv1640500947Apple-style-span"><span class="yiv1640500947Apple-style-span"><div><span class="yiv1640500947Apple-style-span"><div><span class="yiv1640500947Apple-style-span"><span class="yiv1640500947Apple-style-span"><div><div><div><span class="yiv1640500947Apple-style-span"><div>Norman Franke</div>
<div>Answering Service for Directors, Inc.</div>
<div><a rel="nofollow" target="_blank" href="http://www.myasd.com/">www.myasd.com</a></div>
<div><br></div></span></div></div></div></span></span></div></span></div></span></span><br class="yiv1640500947Apple-interchange-newline">
</div>
<br><div>
<div>On Jul 19, 2012, at 5:01 PM, Sandip Dhummad wrote:</div>
<br class="yiv1640500947Apple-interchange-newline"><blockquote type="cite">
<div><div>
<div><span>Hi There,</span></div>
<div><br></div>
<div>I am working on writing VoIP soft phone interface interacting with Asterisk PBX server. I decided to use PJSIP libraries in back end. The code works perfectly fine for making outbound calls. Recently I got a request to allow user to set their outbound CID(<span>C</span>aller <span>ID</span>) number/name from soft phone interface. I have already tested that functionality at Asterisk server level through a Java program invoking Asterisk API overriding the Outbound CID with user defined value. It works perfectly fine. I want to implement same function on my PJSIP based soft phone. I did
not find any property called Outbound CID either at pjsua_acc_config struct level and/or at pjusa_call_make level.
<br>
</div>
<div><br></div>
<div>I had searched on Google to find a solution. I found few things that can solve the problem but none of them worked.</div>
<div>1. Set display name in front of From SIP URL, like "John" <<a href="x-msg://951/" rel="nofollow">sip:#### <at> ###.###.##.##</a>></div>
<div>2. Set force_contact property of pjsua_acc_config struct as an URL similar to above URL<br><span></span>
</div>
<div><br></div>
<div>Please help!! Thanks in advance for the same!!<br><span></span>
</div>
<div><span></span></div>
<div>Thanks & Regards, <br>
</div>
<div><div><div><div>Sandip Dhummad<br>
</div></div></div></div>
</div></div>_______________________________________________<br>Visit our blog: <a href="http://blog.pjsip.org">http://blog.pjsip.org</a><br><br>pjsip mailing list<br><a rel="nofollow" ymailto="mailto:pjsip <at> lists.pjsip.org" target="_blank" href="mailto:pjsip <at> lists.pjsip.org">pjsip <at> lists.pjsip.org</a><br><a href="http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org">http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org</a><br>
</blockquote>
</div>
<br>
</div></div>
<br><br>
</div> </div> </div></div></blockquote>
</div>
<br>
</div>
</div>
RSS Feed