Re: [asterisk-users] does res_pjsip support ZRTP?
-Original Message- From: asterisk-users-boun...@lists.digium.com [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Dmitriy Serov Sent: Tuesday, October 06, 2015 10:06 AM To: asterisk-users@lists.digium.com Subject: Re: [asterisk-users] does res_pjsip support ZRTP? 06.10.2015 16:08, Matthew Jordan пишет: > I know this is shocking to hear, but this is an open source project. > > That means anyone can fix something. Anyone can add something. Even > you! You have all the power to affect your system. > > It also means that no one is under any obligation to do it for you. > > Surprising, right? I know, it's amazing to think that *YOU* have all > the responsibility and power. > > We use PJSIP. We use it in a variety of settings. It works well for > us. Does that mean it works well for you? I don't know. I'm not you. I > don't have your use cases. Would I like it to work well for you? Of > course! But if you don't participate by reporting issues, testing > changes, and contributing code, there's not much I can do for you > other than to note that the line is long, and feel free to stand in it > until someone in the community gets around to what you'd like to have > done. > > Matt > I these words were repeatedly read and remember them well. That's why I haven't written any complaints to the developers. Where you saw them, what made again to write these words? I am a developer with more than two dozen years of experience. I have a hobby with a free service in which I don't owe anyone anything. And I understand your words. Wrote a lot of words, but erased everything. It was my subjective opinion that will not change anything, and therefore it is unnecessary. Now Why I wrote what I wrote. I feel the need to tell people my opinion on the difference in functionality between chan_sip and res_pjsip. They may be important for decision making. I this information was lacking in the past. Dmitriy. -- Personally I find PJSIP many times more difficult, but I'm trying to give time to my learning curve. I see it can be much better to have all the stuff in the database for me as a developer also. Just my two cents. Travis -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] does res_pjsip support ZRTP?
06.10.2015 1:22, Joshua Colp пишет: On 15-10-05 05:58 PM, Dmitriy Serov wrote: 05.10.2015 23:24, Joshua Colp пишет: On 15-10-05 05:22 PM, Dmitriy Serov wrote: Hello. Do I understand correctly that the current implementation res_pjsip does not support ZRTP? http://lists.digium.com/pipermail/asterisk-dev/2013-December/064401.html ZRTP is not supported in Asterisk itself. Nothing has changed since 2013? P.S. I greatly regret that moved from chan_sip to res_pjsip. Previously used very much lacking, and much of the promise failed. Dmitriy Serov. Any particular examples? - opus support. Ok... I know the reason why it is not supported fully this codec. But the existing foreign solution works fine with chan_sip and does not work with res_pjsip works. - endpoint specific ACL - No support for SIP message without authorization. For this reason, the previously working functionality of sending and receiving SMS from gateway GOIP had to rewrite their internal Protocol. Can you clarify what you mean here? There's an anonymous endpoint identifier which can be used for anonymous inbound messages basically. Something like auth_message_requests: http://lists.digium.com/pipermail/asterisk-users/2015-September/287516.html (ugg formating) In short: - GOIP gate (successfully registered as endpoint) send SIP MESSAGE - asterisk send registration request - nothing. I now understand that the reason may be exactly the same described below. - found hardphones and software phones that don't accept "long nonce" and refuse to register when using res_pjsip Have you filed an issue with this and details about the hardphones+softphones? Welltech WP589. Beautifully registered using chan_sip and res_pjsip not logged in. Analyzing the exchange of SIP packets I found a single difference: the format of the "nonce" field. When using a longer nonce (pjsip) this phone simply does not respond to the request packet authorization (as do many hardware and software encountering something incomprehensible). The same behavior was on the built-in nokia 95 SIP client. - enable icesupport also leads to problems of registration and cannot be "common solution" icesupport is only applied to calls, what happens for registration? Sorry. Not registration, but INVITE. The client software encounters an unfamiliar SDP headers and simply not responding to SIP packets. The specifics of my service is that I don't know what SIP client is on the other side. What it supports and what not. To give to configure to a user - not the best idea, because often they do not understand what they onoff and why stops working. - issue tracker now contains multiple error messages that arise every day and reboot my server (which cannot be called a production) - And watchdog logs SegFaults and Hangs including other stacks that are not yet documented in the issue tracker. Have you filed any issues for these with information? We can't make PJSIP better if we don't know about the problems people are having like this. Some of not fixed: https://issues.asterisk.org/jira/browse/ASTERISK-25439 https://issues.asterisk.org/jira/browse/ASTERISK-25435 https://issues.asterisk.org/jira/browse/ASTERISK-25421 https://issues.asterisk.org/jira/browse/ASTERISK-25378 https://issues.asterisk.org/jira/browse/ASTERISK-25279 Dmitriy. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] does res_pjsip support ZRTP?
Dmitriy Serov wrote: - found hardphones and software phones that don't accept "long nonce" and refuse to register when using res_pjsip Have you filed an issue with this and details about the hardphones+softphones? Welltech WP589. Beautifully registered using chan_sip and res_pjsip not logged in. Analyzing the exchange of SIP packets I found a single difference: the format of the "nonce" field. When using a longer nonce (pjsip) this phone simply does not respond to the request packet authorization (as do many hardware and software encountering something incomprehensible). The same behavior was on the built-in nokia 95 SIP client. I haven't heard of this or seen it in testing, I don't think an issue exists for it. - enable icesupport also leads to problems of registration and cannot be "common solution" icesupport is only applied to calls, what happens for registration? Sorry. Not registration, but INVITE. The client software encounters an unfamiliar SDP headers and simply not responding to SIP packets. The specifics of my service is that I don't know what SIP client is on the other side. What it supports and what not. To give to configure to a user - not the best idea, because often they do not understand what they onoff and why stops working. I'm not sure there's anything that could be done here... - issue tracker now contains multiple error messages that arise every day and reboot my server (which cannot be called a production) - And watchdog logs SegFaults and Hangs including other stacks that are not yet documented in the issue tracker. Have you filed any issues for these with information? We can't make PJSIP better if we don't know about the problems people are having like this. Some of not fixed: https://issues.asterisk.org/jira/browse/ASTERISK-25439 https://issues.asterisk.org/jira/browse/ASTERISK-25435 https://issues.asterisk.org/jira/browse/ASTERISK-25421 https://issues.asterisk.org/jira/browse/ASTERISK-25378 https://issues.asterisk.org/jira/browse/ASTERISK-25279 They're in the queue then. -- Joshua Colp Digium, Inc. | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
[asterisk-users] PJSIP: how to retrieve underlying SIP Call-ID
Hello, I've started to play with PJSIP and got stuck at the following problem. I need to retrieve SIP Call-ID associated with PJSIP channel. For inbound channel I can use ${PJSIP_HEADER(read,Call-ID)}, but that doesn't work for outbound channel even in pre-dial or hangup handler. Whatever I do PJSIP_HEADER seem to be unable to read headers for outbound channel. Here's what I do: [xyz] exten => 999,1,NoOp(Call-ID: ${PJSIP_HEADER(read,Call-ID)}) same => n,Dial(PJSIP/xyz011101/sip:xyz011101@:5060,30,b(_pre_dial,s,1)) exten => h,1,NoOp() [_pre_dial] exten => s,1,NoOp(Call-ID: ${PJSIP_HEADER(read,Call-ID)}) same => n,Set(CHANNEL(hangup_handler_push)=_hangup,s,1()) same => n,Return [_hangup] exten => s,1,NoOp(Call-ID: ${PJSIP_HEADER(read,Call-ID)}) same => n,Return Here's the result: -- Executing [999@xyz:1] NoOp("PJSIP/poly_650_2_01-006f", "Call-ID: e3e249e5-7e8941dd-da386565@192.168.100.238") in new stack -- Executing [999@xyz:2] Dial("PJSIP/poly_650_2_01-006f", "PJSIP/xyz011101/sip:xyz011101@:5060,30,b(_pre_dial,s,1)") in new stack -- PJSIP/xyz011101-0070 Internal Gosub(_pre_dial,s,1) start -- Executing [s@_pre_dial:1] NoOp("PJSIP/xyz011101-0070", "Call-ID: ") in new stack -- Executing [s@_pre_dial:2] Set("PJSIP/xyz011101-0070", "CHANNEL(hangup_handler_push)=_hangup,s,1()") in new stack -- Executing [s@_pre_dial:3] Return("PJSIP/xyz011101-0070", "") in new stack == Spawn extension (xyz, 999, 1) exited non-zero on 'PJSIP/xyz011101-0070' -- PJSIP/xyz011101-0070 Internal Gosub(_pre_dial,s,1) complete GOSUB_RETVAL= -- Called PJSIP/xyz011101/sip:xyz011101@:5060 == Using SIP RTP Audio TOS bits 184 -- PJSIP/xyz011101-0070 is ringing -- PJSIP/xyz011101-0070 Internal Gosub(_hangup,s,1) start -- Executing [s@_hangup:1] NoOp("PJSIP/xyz011101-0070", "Call-ID: ") in new stack -- Executing [s@_hangup:2] Return("PJSIP/xyz011101-0070", "") in new stack == Spawn extension (xyz, 999, 1) exited non-zero on 'PJSIP/xyz011101-0070' -- PJSIP/xyz011101-0070 Internal Gosub(_hangup,s,1) complete GOSUB_RETVAL= == Spawn extension (xyz, 999, 2) exited non-zero on 'PJSIP/poly_650_2_01-006f' -- Executing [h@xyz:1] NoOp("PJSIP/poly_650_2_01-006f", "") in new stack As you can see I can get Call-ID of inbound channel, but I receive null for the outbound channel in both pre-dial and hangup handlers. So my question is if there's a way to retrieve SIP Call-ID for outbound channels? Also the 2nd question is if PJSIP_HEADER is supposed to be able to read headers of the outbound channel? Thanks, Michael -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] PJSIP: how to retrieve underlying SIP Call-ID
On Tue, Oct 6, 2015 at 3:25 PM, Michael Ulitskiywrote: > Hello, > > > > I've started to play with PJSIP and got stuck at the following problem. > > I need to retrieve SIP Call-ID associated with PJSIP channel. > > For inbound channel I can use ${PJSIP_HEADER(read,Call-ID)}, but that > doesn't work for > > outbound channel even in pre-dial or hangup handler. Whatever I do > PJSIP_HEADER > > seem to be unable to read headers for outbound channel. > > > > Here's what I do: > > > > [xyz] > > exten => 999,1,NoOp(Call-ID: ${PJSIP_HEADER(read,Call-ID)}) > > same => > n,Dial(PJSIP/xyz011101/sip:xyz011101@:5060,30,b(_pre_dial,s,1)) > > exten => h,1,NoOp() > > > > [_pre_dial] > > exten => s,1,NoOp(Call-ID: ${PJSIP_HEADER(read,Call-ID)}) > > same => n,Set(CHANNEL(hangup_handler_push)=_hangup,s,1()) > > same => n,Return > > > > [_hangup] > > exten => s,1,NoOp(Call-ID: ${PJSIP_HEADER(read,Call-ID)}) > > same => n,Return > > > > > > Here's the result: > > -- Executing [999@xyz:1] NoOp("PJSIP/poly_650_2_01-006f", "Call-ID: > e3e249e5-7e8941dd-da386565@192.168.100.238") in new stack > > -- Executing [999@xyz:2] Dial("PJSIP/poly_650_2_01-006f", > "PJSIP/xyz011101/sip:xyz011101@:5060,30,b(_pre_dial,s,1)") > in new stack > > -- PJSIP/xyz011101-0070 Internal Gosub(_pre_dial,s,1) start > > -- Executing [s@_pre_dial:1] NoOp("PJSIP/xyz011101-0070", "Call-ID: ") > in new stack > > -- Executing [s@_pre_dial:2] Set("PJSIP/xyz011101-0070", > "CHANNEL(hangup_handler_push)=_hangup,s,1()") in new stack > > -- Executing [s@_pre_dial:3] Return("PJSIP/xyz011101-0070", "") in new > stack > > == Spawn extension (xyz, 999, 1) exited non-zero on > 'PJSIP/xyz011101-0070' > > -- PJSIP/xyz011101-0070 Internal Gosub(_pre_dial,s,1) complete > GOSUB_RETVAL= > > -- Called PJSIP/xyz011101/sip:xyz011101@:5060 > > == Using SIP RTP Audio TOS bits 184 > > -- PJSIP/xyz011101-0070 is ringing > > -- PJSIP/xyz011101-0070 Internal Gosub(_hangup,s,1) start > > -- Executing [s@_hangup:1] NoOp("PJSIP/xyz011101-0070", "Call-ID: ") in > new stack > > -- Executing [s@_hangup:2] Return("PJSIP/xyz011101-0070", "") in new > stack > > == Spawn extension (xyz, 999, 1) exited non-zero on > 'PJSIP/xyz011101-0070' > > -- PJSIP/xyz011101-0070 Internal Gosub(_hangup,s,1) complete > GOSUB_RETVAL= > > == Spawn extension (xyz, 999, 2) exited non-zero on > 'PJSIP/poly_650_2_01-006f' > > -- Executing [h@xyz:1] NoOp("PJSIP/poly_650_2_01-006f", "") in new stack > > > > As you can see I can get Call-ID of inbound channel, but I receive null for > the outbound channel in both pre-dial and hangup handlers. > > > > So my question is if there's a way to retrieve SIP Call-ID for outbound > channels? > > Also the 2nd question is if PJSIP_HEADER is supposed to be able to read > headers of the outbound channel? > Hi Michael - While you can use PJSIP_HEADER, the ability to retrieve the SIP Call-ID through the CHANNEL function on a PJSIP channel was actually just added in 13.6.0, and should be in the latest RC (13.6.0-rc2 [2]). In either case, you're using a function as opposed to some application, which means you do need to call the functions on the specific channel. To get access to the outbound channel, you can use a pre-dial handler's 'b' option [3]. The Call-ID *should* be set up on the underlying invite session in the PJSIP dialog, even though it hasn't been transmitted yet. Matt [1] https://gerrit.asterisk.org/#/c/1204/ [2] http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-13.6.0-rc2 [3] https://wiki.asterisk.org/wiki/display/AST/Pre-Dial+Handlers -- Matthew Jordan Digium, Inc. | Director of Technology 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: http://digium.com & http://asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] does res_pjsip support ZRTP?
On Mon, Oct 5, 2015 at 3:58 PM, Dmitriy Serovwrote: > 05.10.2015 23:24, Joshua Colp пишет: >> >> On 15-10-05 05:22 PM, Dmitriy Serov wrote: >>> >>> Hello. Do I understand correctly that the current implementation >>> res_pjsip does not support ZRTP? >>> http://lists.digium.com/pipermail/asterisk-dev/2013-December/064401.html >> >> >> ZRTP is not supported in Asterisk itself. >> >>> Nothing has changed since 2013? P.S. I greatly regret that moved from >>> chan_sip to res_pjsip. Previously used very much lacking, and much of >>> the promise failed. Dmitriy Serov. >> >> >> Any particular examples? >> > > - opus support. Ok... I know the reason why it is not supported fully this > codec. But the existing foreign solution works fine with chan_sip and does > not work with res_pjsip works. > - endpoint specific ACL > - No support for SIP message without authorization. For this reason, the > previously working functionality of sending and receiving SMS from gateway > GOIP had to rewrite their internal Protocol. > - found hardphones and software phones that don't accept "long nonce" and > refuse to register when using res_pjsip > - enable icesupport also leads to problems of registration and cannot be > "common solution" > - issue tracker now contains multiple error messages that arise every day > and reboot my server (which cannot be called a production) > - And watchdog logs SegFaults and Hangs including other stacks that are not > yet documented in the issue tracker. > > Be sure to have forgotten something, because it is not documented all meet > and unsolved problems,workarounds. > > The transition to PJSIP was chosen as mainstream and full support for > WebRTC. As a result, instead of developing a service I a few months I'm > returning opportunities to which users are accustomed and expect to see. > Having the knowledge and the overall picture a few months ago I would not > have taken such a decision. > I know this is shocking to hear, but this is an open source project. That means anyone can fix something. Anyone can add something. Even you! You have all the power to affect your system. It also means that no one is under any obligation to do it for you. Surprising, right? I know, it's amazing to think that *YOU* have all the responsibility and power. We use PJSIP. We use it in a variety of settings. It works well for us. Does that mean it works well for you? I don't know. I'm not you. I don't have your use cases. Would I like it to work well for you? Of course! But if you don't participate by reporting issues, testing changes, and contributing code, there's not much I can do for you other than to note that the line is long, and feel free to stand in it until someone in the community gets around to what you'd like to have done. Matt -- Matthew Jordan Digium, Inc. | Director of Technology 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: http://digium.com & http://asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] does res_pjsip support ZRTP?
06.10.2015 16:08, Matthew Jordan пишет: I know this is shocking to hear, but this is an open source project. That means anyone can fix something. Anyone can add something. Even you! You have all the power to affect your system. It also means that no one is under any obligation to do it for you. Surprising, right? I know, it's amazing to think that *YOU* have all the responsibility and power. We use PJSIP. We use it in a variety of settings. It works well for us. Does that mean it works well for you? I don't know. I'm not you. I don't have your use cases. Would I like it to work well for you? Of course! But if you don't participate by reporting issues, testing changes, and contributing code, there's not much I can do for you other than to note that the line is long, and feel free to stand in it until someone in the community gets around to what you'd like to have done. Matt I these words were repeatedly read and remember them well. That's why I haven't written any complaints to the developers. Where you saw them, what made again to write these words? I am a developer with more than two dozen years of experience. I have a hobby with a free service in which I don't owe anyone anything. And I understand your words. Wrote a lot of words, but erased everything. It was my subjective opinion that will not change anything, and therefore it is unnecessary. Now Why I wrote what I wrote. I feel the need to tell people my opinion on the difference in functionality between chan_sip and res_pjsip. They may be important for decision making. I this information was lacking in the past. Dmitriy. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] does res_pjsip support ZRTP?
On Tue, Oct 6, 2015 at 10:27 AM, Joshua Colpwrote: > Dmitriy Serov wrote: > > > > >>> - found hardphones and software phones that don't accept "long nonce" and refuse to register when using res_pjsip >>> >>> Have you filed an issue with this and details about the >>> hardphones+softphones? >>> >> >> Welltech WP589. Beautifully registered using chan_sip and res_pjsip not >> logged in. >> Analyzing the exchange of SIP packets I found a single difference: the >> format of the "nonce" field. When using a longer nonce (pjsip) this >> phone simply does not respond to the request packet authorization (as do >> many hardware and software encountering something incomprehensible). >> The same behavior was on the built-in nokia 95 SIP client. >> > > I haven't heard of this or seen it in testing, I don't think an issue > exists for it. > On the subject of nonce length there is this issue about chan_sip's nonce length being too short: https://issues.asterisk.org/jira/browse/ASTERISK-25062 Richard -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users