[Extension] Authentication Backend for JIT Token Validation

Problem:
To accomplish the objective of enabling extensions to act on behalf of a user, we have devised a just-in-time (JIT) Token to manage incoming request authentication. This JIT Token will be transmitted to the extension and subsequently returned to the security plugin for privilege validation concerning both the user and the extension. Consequently, it is necessary to develop an authentication backend to efficiently handle these validation processes.
Design
Here is a graph of how user requests processed through the security-extension feature [graph1]:

If we zoom up to step 4. & 5 in [graph1] then we get [graph2] as following:

This graph shows that during the creation of the JIT Token, the user's roles will be encrypted and combined with other claims. Subsequently, this JIT Token will be sent to the extension for further processing.
Once the extension sends back this token to security plugin, which is step 6 in [graph1] then we get [graph3] as following:

Once the security plugin receives the JIT Token back, it will be forwarded into the authentication backend. The following tasks will be initiated:

Decrypt roles / backend_roles fields inside of the JIT Token
Two validations will happen:

Validation of extensions privilege - Service Gate (1st gate and we process to the next gate after the validation)

Similar to user roles this field is called governed policies, and the major difference is that you cannot map those policies to users. We need to do is to compare these policies with the specific actions from the request.
If the Service Gate validation fails, it will directly abort the target action, and it will not process to the User Gate.

Validation of user privilege - User Gate (2nd gate)

Decrypt roles / backend_role
Validate the privileges by using the roles concepts (like current role concept)

Appendix
[WIP] I will put link this section to some of the issues with more concepts of roles.yml.

Hi @cwperks, I have transferred the doc into this issue. Feel free to leave some thoughts.

Hi @RyanL1997, thank you for adding the diagrams for this issue! These are good visualizations for what we've been discussing about creating the tokens in core/security plugin to pass to an extension and then what happens on the core/security plugin side of things if the extension uses the token to make a request to the cluster. Some of the diagrams on here may be subject to change based on the discussion on this issue: https://github.com/opensearch-project/security/issues/2587
This comment in particular (https://github.com/opensearch-project/security/issues/2587#issuecomment-1493067740) talks about how the mapping would work from the extension + user -> set of role/policies that would be used for privilege evaluation.
In short, the idea is to add a new services_mappings sub-section on a roles_mapping to map an extension + user to a set of role/policies to check at the service gate:
# All users of service <service_id> are mapped to act_an_original_user
act_as_original_user:
  reserved: false
  description: "Maps <service_id> extension to act_as_original_user"
  services_mappings:
   <service_id>:
      users:
        - "*"

For the diagrams, I would update anywhere you show user roles to a different hypothetical example (userA mapped to role1, role2, role3 - you can keep these abstracted, they represent any roles the user is mapped to)
It looks like the set of permissions used in the example was a set of permissions for AD service account:
extension/ad_svc:
    reserved: true
    index_permissions:
        - index_patterns:
            - '.opendistro-anomaly-results*'
            - '.opendistro-anomaly-detector*'
            - '.opendistro-anomaly-checkpoints'
            - '.opendistro-anomaly-detection-state'
        allowed_actions:
            - 'indices_all'

Service account / service account token is different than the just-in-time tokens that this issue discusses because for a service account token, the extension is not acting on behalf of another user. In this case, the extension is interacting with the cluster using its service account token and privilege evaluation would be the same as normal user privilege evaluation where there is no service gate.

Hi @RyanL1997, thank you for putting together these great diagrams. What you are looking at seems like a good option for handling our use scenario. One thing I wanted to clarify was our terminology. In the past, I have seen posts discussing both "On-behalf-of" and "just-in-time" tokens. Are these the same thing in the model you are proposing? I only know about "just-in-time" tokens from this post, but I have seen a fair bit about "on-behalf-of" tokens that would appear to overlap. Are these the same thing?

Hi @scrawfor99, thanks for bringing this up. Yes, this are the same thing.
I think the term "on-behalf" is focusing on the functionality sides of this token. In other word, we would like to use this token do some of the validations of both user and extensions, so that the extension can perform some actions like the user does nowadays.
For the term "just-in-time", it is more related to its time-sensitive feature. For some traditional JWT token, you can always modify the nbf claim to issue a token for future usage. However, for our scenario, we want this token only be issued and used once the user sends out a request. After the entire request [graph1] is done, this token will be expired immediately. I believe this is the reason why we named it JIT.


Small update to pipelines redirects

Fixes issue where the /docs/pipelines/concepts/* redirect rule was not applied because these redirects were caught by the /docs/pipelines/* rule.

Preview: https://deploy-preview-2526--competent-brattain-de2d6d.netlify.app/docs/pipelines/overview/concepts/pipeline/

/lgtm


How to add Async Blur Validation without Promise Object ?

how to throw form submission error by using normal call back funcitons instead of using Promise objects ?

Convert them to Promises
http://benmccormick.org/2015/12/30/es6-patterns-converting-callbacks-to-promises/


Cannot find module electron-v75-win32-x64 iohook.node

Hi,
Trying to use iohook for my app. After installing and running the app I get:
Cannot find module '(...)\node_modules\iohook\builds\electron-v75-win32-x64\build\Release\iohook.node
The iohook\builds folder contains only node-v64-win32-x64 directory. How do I get electron-v75-win32-x64 for it to work? Can you prebuild it and send it?
Module versions:
"electron": "^7.0.0"
"iohook": "^0.6.1",
npm v6.9.0
node v10.16.3

Hi, this package is not yet compatible with Electron 7.0.0. Closing for #199


Xiron installation with cargo

Also add Github CI for Multi-arch builds

Use cargo install xiron directly and run xiron_simulator.


Snackbar flex-wrap

Fixes an issue spotted in a cloud licensing pull request https://github.com/IPG-Automotive-UK/cloud-licensing-web/pull/298#issuecomment-1641880722.
Changes
If the snackbar message was long or the screen width was small then the text was wrapping onto a newline, however so was the action button to close the dialog. The action button is now always on the right and vertically centre aligned with the message text.
UI/UX
Before:

After:

Testing notes
Open up storybook for Snackbar, set a long message or resize the screen width so the message wraps onto multiple lines and confirm close action button is as expected.

[x] Relevant labels added to the PR.
[x] Lint and test workflows pass.

This is Good!

But the component is not migrated to TypeScript.

Done. My 1 line bug-fix has now turned into 126 lines. Please ensure you review throughly again now as this not only affects the bug-fix.


lab11,12,13 update

update descriptions and images to fit the new consoles.

Merged. I will give you an authority to merge asap.


Fixes and clean up

I have a merge conflict that i'm not sure how to resolve.
<<<<<<< tokencache
    if (session == null)
        session = await DoInteractiveLogin(argv.username);
=======
    if (session == null) {
        session = await DoInteractiveLogin(videoUrls[0], argv.username);
    }

>>>>>>> tokencache

Are we now expecting one or two arguments to DoInteractiveLogin?
If you're sure about it feel free to resolve this conflict yourself and merge.

Nevermind, got off my high horse and looked at the actual code :) Resolved. Merging now.


Update notes for update existing pack

Status
Ready
Related Issues
fixes: https://github.com/demisto/etc/issues/29243
Description
Added notes about adding new content entities to existing packs.
Screenshots

@ShahafBenYakir I think it would be better to keep both 2 and 3- cause the explanation regarding the duplicated content in the second paragraph is important.
The last limitation says that we are not supporting resubmission to existing packs (https://github.com/demisto/etc/issues/43197) (we do support resubmission to new packs).

It is too technical and confusing, a simple contributor will not understand what we want here. What is the important part of item 3 (the underline)?
It is not very clear, let's talk offline.

This PR is waiting for https://github.com/demisto/contribution-management/pull/160 to be merged.

Will merge this PR once we merged the fix in https://github.com/demisto/contribution-management/pull/160


feat(rust/rbac-registration): CIP509 validation refactoring

Description

Cip509::validate signature has been changed.
Cip509Validation structure has been removed.

Description of Changes
The logic hasn't been changed, but now instead of returning an intermediate structure Result<Self> is returned.
Please confirm the following checks

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream module

This probably makes the API less composable.


Generate Method (or similar) should be available on bind[-*]:

Generate Event Handler works for <tag @onclick="UnknownMethod" />, but is not available for bind-value:after="UnknownMethod" and other, similar items, and should.

This probably won't be possible until https://github.com/dotnet/razor/pull/9062 is in, as we don't have good source mapping for bind:after attributes at the moment.

#9062 is in


CryptoQuant integration

https://cryptoquant.com/docs

Email sent 27.11.2020, we will see if some kind of integration or cooperation is possible at this moment.

Access to tool.


Added Windows support to python auth example files

Quality of life improvements for Windows users of the generate-jwt-example example project which helps onboard senders to the ReportStream ecosystem. This should get windows users mostly over the fence and also includes some improvements for *nix users (pipx over manually managed virtualenvs)
If you are suggesting a fix for a currently exploitable issue, please disclose the issue to the prime-reportstream team directly outside of GitHub instead of filing a PR, so we may immediately patch the affected systems before a disclosure. See SECURITY.md/Reporting a Vulnerability for more information.
Test Steps:

Follow the steps in examples/generate-jwt-python directory on windows and *nix and make sure it works

Changes

Use pipenv for dependency and virtualenv management

Checklist
Testing

[X] Tested locally?
[x] No Changes Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[x] No Changes (For Changes to /frontend-react/...) Ran npm run lint:write?
[x] N/A Added tests?

Process

[x] Are there licensing issues with any new dependencies introduced? No
[x] Includes a summary of what a code reviewer should test/verify? Yes
[x] N/A Updated the release notes?
[x] N/A Database changes are submitted as a separate PR?
[x] N/A DevOps team has been notified if PR requires ops support?

Linked Issues

Fixes #10201

Specific Security-related subjects a reviewer should pay specific attention to
No to all questions

@thetaurean Just confirming this is ready for a re-review?


Enforce import order

Enforce import order to be alphabetical.
Only Java code is changed. This PR strictly reorders existing imports; no new imports are added or unused imports removed.

alluxio-bot, merge this please


subprocess WindowsError on git-fat push

On Windows, using Python 2.7.10 64-bit and git-fat 0.5.0 installed from pypi.  I get an exception when I attempt a "git-fat push"
$ git-fat push
Traceback (most recent call last):
  File "c:/Python27/Scripts/git-fat", line 1121, in <module>
    main()
  File "c:/Python27/Scripts/git-fat", line 1110, in main
    run(backend, **kwargs)
  File "c:/Python27/Scripts/git-fat", line 991, in run
    getattr(gitfat, fn)(**kwargs)
  File "c:/Python27/Scripts/git-fat", line 905, in push
    files = self._referenced_objects(**kwargs) & self._cached_objects()
  File "c:/Python27/Scripts/git-fat", line 535, in _referenced_objects
    objs_dict = self._managed_files(**kwargs)
  File "c:/Python27/Scripts/git-fat", line 593, in _managed_files
    for objhash, objtype, size in revlistgen:
  File "c:/Python27/Scripts/git-fat", line 557, in _rev_list
    awk = sub.Popen([awk_tool, '{print $1}'], stdin=revlist.stdout, stdout=sub.PIPE)
  File "c:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "c:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

I then ran it with PDB, and it pointed here right after the uncaught exception, in subprocess.py line 977:
972                     if p2cread is not None:
973                         _close_in_parent(p2cread)
974                     if c2pwrite is not None:
975                         _close_in_parent(c2pwrite)
976                     if errwrite is not None:
977  ->                     _close_in_parent(errwrite)
978
979                 # Retain the process handle, but close the thread handle
980                 self._child_created = True
981                 self._handle = hp
982                 self.pid = pid
(Pdb) p errwrite
<_subprocess_handle object at 0x00000000022C52A0>
(Pdb)

This is yet todo to provide 64-bit windows package on PyPI. What you've installed currently is Linux/Mac source package (.tar.gz).

I see. It worked after I switched over to 32-bit Python, which is fine for my purpose. Thank you!

high, I've put a bitness independent version of gitfat here: https://dl.dropboxusercontent.com/u/19049582/git_fat-0.5.0-main.zip. install it with pip
pip install git_fat-0.5.0-main.zip

details are on my post here http://poquitopicante.blogspot.com/2015/04/git-big-media-on-windows.html
I will try to send a pull request one day because I did a few things slightly different. Works for both MSYS GitBash and Windows CMD.


Auto skip to current date (back in time)

I always forget to upload videos so I will constantly need to go back in time to post it.
However, I found the system will not automatically jump to the date I'm currently adding.
Current output
I'm adding a post on 8/24, but the gallery will not show videos from that date on the top, only from today 9/2)
Desired output:
I'm adding a post on 8/24, the gallery will show 8/24 videos and pictures at the top.
Thank you!!!!!!!!!!!!

Hi @veritasestmoi , that was what I meant in this comment. This was already implemented and will be available for next version 😊


LocalRoomPosition could use more nice utilities

Right now it's functional, and as of #171 it will be fully functional, but it still isn't very nice to use.
Ideally, I would like to add:

[ ] a new method taking x,y,room_name
[ ] implementations of Add<(u32, u32)>, Sub<(u32, u32)>, Add<(i32, i32)> and Sub<(i32, i32)> which allow for easy offsetting x/y and panic on overflow
[ ] an offset(self, impl Into<i64>, impl Into<i64>) -> Option<LocalRoomPosition> method which offsets the position and returns None on overflow rather than panicking

Fixed by #203.


Error: unable to serve upgraded Angular 9.0.0-rc.2 app

Hi there :raised_hand_with_fingers_splayed:
🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[x] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Yes, I'm able to serve the previous version Angular 8.2.14 and CLI 8.3.19.
Description
I would test my app against next version 9.0.0-rc.2, so I ran the update --next command from the CLI. Then when I run the serve command the CLI instantly throws an error.
🔬 Minimal Reproduction
Here is the PR that bump Angular to 9.0.0-rc.2 and cause the error. The project is a monorepo but only the sandbox application is concerned by this issue.
🔥 Exception or Error
Here is the stack trace output from the CLI:
[error] Error: Job name "..getProjectMetadata" does not exist.
    at Observable.rxjs_1.Observable [as _subscribe] (/home/edouard/work/http-ext/node_modules/@angular/cli/node_modules/@angular-devkit/core/src/experimental/jobs/simple-scheduler.js:350:23)
    at Observable._trySubscribe (/home/edouard/work/http-ext/node_modules/rxjs/internal/Observable.js:44:25)
    at Observable.subscribe (/home/edouard/work/http-ext/node_modules/rxjs/internal/Observable.js:30:22)
    at Object.subscribeToResult (/home/edouard/work/http-ext/node_modules/rxjs/internal/util/subscribeToResult.js:12:23)
    at SwitchMapSubscriber._innerSub (/home/edouard/work/http-ext/node_modules/rxjs/internal/operators/switchMap.js:65:54)
    at SwitchMapSubscriber._next (/home/edouard/work/http-ext/node_modules/rxjs/internal/operators/switchMap.js:55:14)
    at SwitchMapSubscriber.Subscriber.next (/home/edouard/work/http-ext/node_modules/rxjs/internal/Subscriber.js:66:18)
    at SwitchMapSubscriber.notifyNext (/home/edouard/work/http-ext/node_modules/rxjs/internal/operators/switchMap.js:86:26)
    at InnerSubscriber._next (/home/edouard/work/http-ext/node_modules/rxjs/internal/InnerSubscriber.js:28:21)
    at InnerSubscriber.Subscriber.next (/home/edouard/work/http-ext/node_modules/rxjs/internal/Subscriber.js:66:18)
    at Observable._subscribe (/home/edouard/work/http-ext/node_modules/rxjs/internal/util/subscribeToArray.js:5:20)
    at Observable._trySubscribe (/home/edouard/work/http-ext/node_modules/rxjs/internal/Observable.js:44:25)
    at Observable.subscribe (/home/edouard/work/http-ext/node_modules/rxjs/internal/Observable.js:30:22)
    at Object.subscribeToResult (/home/edouard/work/http-ext/node_modules/rxjs/internal/util/subscribeToResult.js:12:23)
    at SwitchMapSubscriber._innerSub (/home/edouard/work/http-ext/node_modules/rxjs/internal/operators/switchMap.js:65:54)
    at SwitchMapSubscriber._next (/home/edouard/work/http-ext/node_modules/rxjs/internal/operators/switchMap.js:55:14)

The stacktrace shows something weird ..getProjectMetadata, but I have no idea why this path is broken.
🌍 Your Environment
node v10.15.3
yarn 1.19.1

Note that I'm using Ubuntu.

The repository appears too be using nx.  However, the version of nx used appears to only support Angular CLI 8.x.

Hi @clydin, I opened the issue here because the error appears to come from the @angular/cli and as far as I know nx just call through the serve command from the @angular/cli. But if it's just related to nx this can be closed or transferred.

Last time I looked into this error message, the error came from @angular/cli because whatever was calling it was using an older version of the CLI libraries and providing context objects of the previous version. So when Angular CLI tries to use them, it fails and throws. I believe this should be fixed by using a version of Nx that is meant to work with Angular CLI version 9.


Fixed: use Logrus instead of glog

Current coverage is 51.76% (diff: 43.56%)

Merging #71 into master will decrease coverage by 3.05%

@@             master        #71   diff @@
==========================================
  Files            19         19
  Lines          1848       2973   +1125
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           1013       1539    +526
- Misses          734       1327    +593
- Partials        101        107      +6

Powered by Codecov. Last update 12f252b...69679b1

Fix Travis and your coverage please :)


xcodebuild command hangs in AZDO

Description
running this task for my CI in AZDO macos-13 microsoft agent, xcode 15.0, agent version: 3.227.1 (sometimes i get 3.227.2 but it's not correlated to the timeouts) same xcodebuild command executed locally (with cleaned derived data) works fine i am going nuts.... at my rope's end. please help
- task: Xcode@5
  displayName: "Archiving IPA"
  inputs:
    script: 'xcodebuild -showsdks'
    actions: 'clean'
    configuration: 'Debug'
    sdk: ''
    xcWorkspacePath: 'mobile/mobile.xcodeproj'
    scheme: 'mobile staging'
    packageApp: true
    exportMethod: 'ad-hoc'
    signingOption: 'manual'
    signingIdentity: 'Apple Distribution: .....'
    provisioningProfileUuid: '....'
    teamId: '....'
    destinationPlatformOption: 'iOS'
    args: '-verbose'
    useXcpretty: false

it hangs randomly. it can run 2 times fine, 3rd it hangs. i have a 60min timeout for the pipeline and if i leave it like this, it still won't budge until it times out. an ok run usually takes 10min. last thing i see in console is
2023-10-15T13:00:48.9604720Z CompileAssetCatalog /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/InstallationBuildProductsLocation/Applications/staging.app /Users/runner/work/1/s/mobile/mobile/Assets.xcassets (in target 'staging' from project 'mobile')
2023-10-15T13:00:48.9606750Z     cd /Users/runner/work/1/s/mobile
2023-10-15T13:00:48.9632920Z     /Applications/Xcode_15.0.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/IntermediateBuildFilesPath/mobile.build/Debug-iphoneos/staging.build/assetcatalog_dependencies --output-partial-info-plist /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/IntermediateBuildFilesPath/mobile.build/Debug-iphoneos/staging.build/assetcatalog_generated_info.plist --app-icon AppIcon-Debug --compress-pngs --enable-on-demand-resources YES --development-region en --target-device iphone --target-device ipad --minimum-deployment-target 15.0 --platform iphoneos --compile /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/InstallationBuildProductsLocation/Applications/staging.app /Users/runner/work/1/s/mobile/mobile/Assets.xcassets

this is as verbose as i think it can be
In a good run, what comes after the above is
2023-10-15T12:49:45.3891370Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][iphone][57x57][][][1x][][][]: notice: 57x57 app icons only apply to iPhone apps targeting releases of iOS prior to 7.0
2023-10-15T12:49:45.3896470Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][iphone][57x57][][][2x][][][]: notice: 57x57@2x app icons only apply to iPhone apps targeting releases of iOS prior to 7.0
2023-10-15T12:49:45.3901860Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][ipad][50x50][][][1x][][][]: notice: 50x50 iPad spotlight icons only apply to iPad apps targeting releases of iOS prior to 7.0
2023-10-15T12:49:45.3904840Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][ipad][50x50][][][2x][][][]: notice: 50x50 iPad spotlight icons only apply to iPad apps targeting releases of iOS prior to 7.0
2023-10-15T12:49:45.3908040Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][ipad][72x72][][][1x][][][]: notice: 72x72 app icons only apply to iPad apps targeting releases of iOS prior to 7.0
2023-10-15T12:49:45.3910810Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][ipad][72x72][][][2x][][][]: notice: 72x72@2x app icons only apply to iPad apps targeting releases of iOS prior to 7.0
2023-10-15T12:49:45.3913600Z /Users/runner/work/1/s/mobile/mobile/Assets.xcassets:./AppIcon-Debug.appiconset/[][ipad][76x76][][][1x][][][]: notice: 76x76@1x app icons only apply to iPad apps targeting releases of iOS prior to 10.0.
2023-10-15T12:49:45.3915240Z /* com.apple.actool.compilation-results */
2023-10-15T12:49:45.3917430Z /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile<EMAIL_ADDRESS>2023-10-15T12:49:45.3921270Z /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile<EMAIL_ADDRESS>2023-10-15T12:49:45.3924970Z /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile staging/InstallationBuildProductsLocation/Applications/staging.app/Assets.car
2023-10-15T12:49:45.3928780Z /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile staging/IntermediateBuildFilesPath/mobile.build/Debug-iphoneos/staging.build/assetcatalog_generated_info.plist
2023-10-15T12:49:45.3931100Z
2023-10-15T12:49:45.3931170Z
2023-10-15T12:49:45.3932020Z SwiftDriver staging normal arm64 com.apple.xcode.tools.swift.compiler (in target 'staging' from project 'mobile')
2023-10-15T12:49:45.3932980Z     cd /Users/runner/work/1/s/mobile
2023-10-15T12:49:45.4020840Z     builtin-SwiftDriver -- /Applications/Xcode_15.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -module-name staging -Onone -enforce-exclusivity\=checked @/Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/IntermediateBuildFilesPath/mobile.build/Debug-iphoneos/staging.build/Objects-normal/arm64/staging.SwiftFileList -DDEBUG -D STAGING -sdk /Applications/Xcode_15.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.0.sdk -target arm64-apple-ios15.0 -enable-bare-slash-regex -g -module-cache-path /Users/runner/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -enable-testing -swift-version 5 -I /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/BuildProductsPath/Debug-iphoneos -F /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/BuildProductsPath/Debug-iphoneos/PackageFrameworks -F /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/BuildProductsPath/Debug-iphoneos/PackageFrameworks -F /Users/runner/Library/Developer/Xcode/DerivedData/mobile-erawnnainwlxhxbadsuelqkzpzoi/Build/Intermediates.noindex/ArchiveIntermediates/mobile\ staging/BuildProductsPath/Debug-iphoneos/PackageFrameworks -F
...............more rambling like this

Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[X] macOS 13
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Image: macos-13
Version: 20231002.1
Included Software: https://github.com/actions/runner-images/blob/macos-13/20231002.1/images/macos/macos-13-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/macos-13%2F20231002.1
Is it regression?
No
Expected behavior
xcodebuild command shouldn't hang
Actual behavior
xcodebuild command hangs and pipeline times out eventually
Repro steps
Not sure if it reproduces on other projects... but locally it works fine with clean derived data

Hello @LonestarX91 . We will take a look.

Hello @LonestarX91,
Could you please provide steps to reproduce the issue?
We would like to make a few runs with test projects and see if timeouts are unique to your workflow or not.

@LonestarX91,
Haven't heard from you in a while, so I will close the issue for now.
Feel free to reach out in case of further concerns


Carousel with no data

OpenUI5 version: 1.60.1 (but seems not to be in lates version as well)
Steps to reproduce the problem:

Create a Page with the control sap.m.Carousel
bind the pages-aggregation to a (OData-/JSON-)Model
create any template for this binding

What is the expected result?
if list items exists in the model, the pages a correctly created. but if there is no data (empty list) then there is only an empty page. There is no possibillity to show a control/text or any information to show that there just exists no data like in sap.m.List -> attribute "noDataText"

Your feature request will be checked by colleagues via #1980203475
Meanwhile, you can assure one record with the "empty screen" is present in data, and removed in case data is loaded.


Token introspection Basic authorization breaks when RFC 8707 resource names are used

Issue / Steps to reproduce the problem

Resource definition:
new ApiResource          {              Name = "https://foo.bar/MyResource", //see https://tools.ietf.org/html/rfc8707, section 2
               Scopes = new List<string>() {"MyResource.read", "MyResource.write"}, //as we do not have separate resource indicator in place
                ApiSecrets = new List<Secret>() { new Secret("secret".Sha256()) },          };
Request Access token scope is specified as "MyResource.read"
call /connect/introspect
Authorization Basic aHR0cHM6Ly9mb28uYmFyL015UmVzb3VyY2U6c2VjcmV0 //decoded base64: "https://foo.bar/MyResource:secret"

Result: 401 authorization fails
Reason I found is that the incoming string is split at the first colon which results "https" which is obviously not matching to the stored resource names.
https://github.com/IdentityServer/IdentityServer4/blob/main/src/IdentityServer4/src/Validation/Default/BasicAuthenticationSecretParser.cs, line 87
Is my finding valid or am I missing some concept?

OAuth is not using "standard" basic authentication encoding.
https://github.com/IdentityModel/IdentityModel/blob/5ca6e0983a/src/Client/BasicAuthenticationOAuthHeaderValue.cs#L31-L40

Oh, I get your point. I should have (also) spotted this at https://github.com/IdentityServer/IdentityServer4/blob/33b879ffb3f08e18aa7929d610bfa101d51dad10/src/IdentityServer4/src/Validation/Default/BasicAuthenticationSecretParser.cs#L115
For the readers only: before making the concatenation of the resource name with the secret escaping to be done on both values.
Uri.EscapeDataString(value).Replace("%20", "+");


Should restoring mocks and other things happen in afterEach?

This is a follow up to #7654.
Currently restoring mocks happen in beforeEach, possibly because afterEach isn't run in case a test fails. I don't know if that's what users expect, at least the documentation doesn't say anything about that.
In #7654 we saw that it can impact tests when working with shared prototypes where some methods were mocked. Of course the main issue is the shared prototype thing, but by restoring mocks in beforeEach we wouldn't restore it for the final test in a test file, so this exacerbates the problem.
Relevant code (thanks @simenb!):
https://github.com/facebook/jest/blob/faa52673f4d02ee1d273103ada9382a0805b54a4/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapter.ts#L56-L77
https://github.com/facebook/jest/blob/faa52673f4d02ee1d273103ada9382a0805b54a4/packages/jest-jasmine2/src/index.ts#L100-L120
My proposal here is:

Reset mocks in afterEach instead of, or possibly in addition to, beforeEach.
Run afterEach even if a test fails (working like a finally).

What do you all think?

My understanding is that this is still current. @SimenB

beforeEach hook is better idea. This way all is predictable:
const someMock = jest.fn().mockImplementation(() => true);

beforeEach(() => {
  jest.restoreAllMocks();
});

test("one", () => {
  expect(someMock()).toBe(undefined); // mock was restored
});

test("two", () => {
  expect(someMock()).toBe(undefined); // mock was restored
});

Same with afterEach:
const someMock = jest.fn().mockImplementation(() => true);

afterEach(() => {
  jest.restoreAllMocks();
});

test("three", () => {
  expect(someMock()).toBe(true); // mock will be restored after this test
});

test("four", () => {
  expect(someMock()).toBe(undefined); // mock was restored
});

Now add .only to the test "four" and it will fail, because the mock will not be restored.

Regarding restoring mocks after all tests. It seem like restoreAllMocks() is called after running each test file:
https://github.com/facebook/jest/blob/39a0e0588a9a06e087acba7434700290d45d8fc2/packages/jest-runtime/src/index.ts#L1341-L1343

@mrazauskas I don't mind doing it in beforeEach, but I believe it should be done in afterEach as well.
But see also #14080 for more issues around reseting mocks blindly.

In the real life, we'll usually define a mock in both ways:

either at the start of a file using jest.mock, and we want this to apply to the whole file
or in a test (either in the body of the test or in beforeEach), and we want it to apply to this test only or this scope (for beforeEach)
possibly both together: a default mock with jest.mock, but change it in some tests for specific beahviors (especially error behaviors)

First option without using jest.fn() works fine.
Third option is #14080.
Second option is this issue. I filed it a long time ago, so I need to think more to remember what the real-life problem is.

This example makes no sense: why are you specifying a mock at first if you don't want to use it afterwards?

That was just a demo: what is the difference if jest.restoreAllMocks() is called afterEach instead of beforeEach test? jest.resetAllMocks() can be used instead. Would it make more sense?


Conflict with other jQuery scripts (iScroll)

Can't seem to get this to work in conjunction with iScroll. Any idea why this might be?
http://wes.arcanebeta.com

I can't see my script there. Have you removed it?

Thanks again.
Is there a way to make the loading happen only within a selector, like in the previous version?
I've mucked around a bit with the script, but it seems to append the loading animation to the body tag regardless.
Http://wes.arcanebeta.com
Here the loading animation fills the page. My designer would rather the animation only fill the #gallery container for example.
Any ideas?
Sent from my iPhone
On Jan 16, 2012, at 1:54 PM, Gaya<EMAIL_ADDRESS>wrote:

great! if you run into any problems again, let me know :)

Reply to this email directly or view it on GitHub:
https://github.com/Gaya/QueryLoader2/issues/8#issuecomment-3517039

I will look into this for a future release. Never expected that feature to be popular. Maybe I'll add a new selector to which element the loader has to be included. Thanks for the feedback.

Awesome, thanks again.
I love your script.
On Jan 17, 2012, at 9:58 AM, Gaya Kessler wrote:

I will look into this for a future release. Never expected that feature to be popular. Maybe I'll add a new selector to which element the loader has to be included. Thanks for the feedback.

Reply to this email directly or view it on GitHub:
https://github.com/Gaya/QueryLoader2/issues/8#issuecomment-3530035


Audio not playing nice with CallKit

Hi,
I tested integrating Apple CallKit into my Twilio Programmable Voice SDK project and there seems to be some issues.
Prior to integrating CallKit I could here the "beep beep" tones before the receiver had picked up the phone, this disappeared when I added CallKit support.
Perhaps I'm doing something wrong, see code below:
- (void)makeCall
{
  self.outgoingCall = [[VoiceClient sharedInstance] call:[self fetchAccessToken]
                                                      params:@{}
                                                    delegate:self];
}

- (void)outgoingCallDidConnect:(TVOOutgoingCall *)outgoingCall {
  NSLog(@"outgoingCallDidConnect:");
  [self reportOutgoingCall:@"+18885554994"
}

- (void)reportOutgoingCall:(NSString *)dest
{
  self.currentCall = [NSUUID UUID];
  CXHandle *handle = [[CXHandle alloc] initWithType:CXHandleTypePhoneNumber value:dest];
  CXStartCallAction *action = [[CXStartCallAction alloc] initWithCallUUID:self.currentCall
                                                                   handle:handle];
  CXTransaction *transaction = [[CXTransaction alloc] initWithAction:action];
  [self.callController requestTransaction:transaction completion:^(NSError * _Nullable error) {
    if (error) {
      NSLog(@"Error: %@", error);
    }
  }];
}

#pragma - CXProvider
- (void)provider:(CXProvider *)provider performStartCallAction:(CXStartCallAction *)action
{
  [self.callkitProvider reportOutgoingCallWithUUID:self.currentCall
                                   connectedAtDate:[NSDate date]];
  [action fulfill];
}

- (void)provider:(CXProvider *)provider didActivateAudioSession:(AVAudioSession *)audioSession
{
  if (self.outgoingCall) {
    [self.outgoingCall setMuted:FALSE];
  } else {
    [self.incomingCall setMuted:FALSE];
  }
}

- (void)provider:(CXProvider *)provider didDeactivateAudioSession:(AVAudioSession *)audioSession
{
  if (self.outgoingCall) {
    [self.outgoingCall setMuted:TRUE];
  } else {
    [self.incomingCall setMuted:TRUE];
  }
}

Any ideas how to enable audio when using CallKit?

And here is the DEBUG log:
2016-10-06 15:00:47.991 Bitcall[988:275957] [DEBUG TwilioReachability] Reachability Flag Status: -R ------- networkStatusForFlags
2016-10-06 15:00:47.992 Bitcall[988:275957] [DEBUG TVOCommandHandler] Inside postCommand:, received command of type TVOMakeCallCommand
2016-10-06 15:00:47.994 Bitcall[988:276066] [VERBOSE Twilio] Inside constructUri: Registration URL: sip:None@chunderm.gll.twilio.com;transport=tls
2016-10-06 15:00:47.995 Bitcall[988:276066] [INFO TVOMakeCallCommand] Call URI: sip:None@chunderm.gll.twilio.com;transport=tls
2016-10-06 15:00:47.996 Bitcall[988:276066] PJSIP(4):   pjsua_call.c !Making call with acc #0 to sip:None@chunderm.gll.twilio.com;transport=tls
2016-10-06 15:00:47.997 Bitcall[988:276066] PJSIP(4):    pjsua_aud.c  .Set sound device: capture=-1, playback=-2
2016-10-06 15:00:47.997 Bitcall[988:276066] PJSIP(4):    pjsua_aud.c  ..Opening sound device (speaker + mic) PCM@16000/1/20ms
2016-10-06 15:00:47.998 Bitcall[988:276066] PJSIP(4): coreaudio_dev.  ...Using VoiceProcessingIO audio unit
2016-10-06 15:00:48.412 Bitcall[988:276066] PJSIP(4): coreaudio_dev.  ...core audio stream started
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(4):    pjsua_acc.c  .Warning: cannot use source TCP/TLS socket address for Contact when nameserver is configured.
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  .UAC dialog created
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  ..Session count inc to 2 by mod-pjsua
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(4):  pjsua_media.c  .Call 0: initializing media..
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(4):  pjsua_media.c  ..RTP socket reachable at <IP_ADDRESS>:4964
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(4):  pjsua_media.c  ..RTCP socket reachable at <IP_ADDRESS>:4965
2016-10-06 15:00:48.419 Bitcall[988:276066] PJSIP(4):  pjsua_media.c  ..Media index 0 selected for audio call 0
2016-10-06 15:00:48.420 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  ..Session count dec to 2 by mod-pjsua
2016-10-06 15:00:48.420 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  .Module mod-invite added as dialog usage, data=0x1299629f8
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  ..Session count inc to 4 by mod-invite
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  .Module mod-100rel added as dialog usage, data=0x129982c8c
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  .100rel module attached
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): inv0x1289e04a8  .UAC invite session created for dialog dlg0x1289e04a8
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5):       endpoint  .Request msg INVITE/cseq=22067 (tdta0x128880a00) created.
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): inv0x1289e04a8  ..Sending Request msg INVITE/cseq=22067 (tdta0x128880a00)
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  ...Sending Request msg INVITE/cseq=22067 (tdta0x128880a00)
2016-10-06 15:00:48.424 Bitcall[988:276066] PJSIP(5): tsx0x1289eeca8  ....Transaction created for Request msg INVITE/cseq=22066 (tdta0x128880a00)
2016-10-06 15:00:48.429 Bitcall[988:276066] PJSIP(5): tsx0x1289eeca8  ...Sending Request msg INVITE/cseq=22066 (tdta0x128880a00) in state Null
2016-10-06 15:00:48.429 Bitcall[988:276066] PJSIP(5):  sip_resolve.c  ....Starting async DNS SRV query: target=_sips._tcp.chunderm.gll.twilio.com, transport=TLS, port=0
2016-10-06 15:00:48.429 Bitcall[988:276066] PJSIP(5): _sips._tcp.chu  ....Starting async DNS SRV query_job: target=_sips._tcp.chunderm.gll.twilio.com:5061
2016-10-06 15:00:48.431 Bitcall[988:276066] PJSIP(5): tsx0x1289eeca8  ....State changed from Null to Calling, event=TX_MSG
2016-10-06 15:00:48.431 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  .....Transaction tsx0x1289eeca8 state changed to Calling
2016-10-06 15:00:48.431 Bitcall[988:276066] [DEBUG Twilio] Inside on_call_state(), call: 0x1700bb0c0, internal state: 0
2016-10-06 15:00:48.431 Bitcall[988:276066] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CALLING
2016-10-06 15:00:48.431 Bitcall[988:276066] [VERBOSE TVOOutgoingCall] handlePJSIPInviteStateCalling. Error: (null)
2016-10-06 15:00:48.431 Bitcall[988:276066] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2016-10-06 15:00:48.435 Bitcall[988:276245] PJSIP(5): coreaudio_dev. !Recorder thread started, (372 frames)
2016-10-06 15:00:48.435 Bitcall[988:276245] PJSIP(4): os_core_unix.c  Info: possibly re-registering existing thread
2016-10-06 15:00:48.435 Bitcall[988:276245] PJSIP(5): coreaudio_dev. !Player thread started, (372 frames)
2016-10-06 15:00:48.483 Bitcall[988:276080] PJSIP(5):     resolver.c !Received 208 bytes DNS response from <IP_ADDRESS>:0
2016-10-06 15:00:48.484 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu  SRV query_job for _sips._tcp.chunderm.gll.twilio.com completed, 2 of 2 total entries selected:
2016-10-06 15:00:48.484 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu   0: SRV 10 100 10194 chunderm1.ie1.twilio.com (-)
2016-10-06 15:00:48.484 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu   1: SRV 10 100 10194 chunderm0.ie1.twilio.com (-)
2016-10-06 15:00:48.484 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu  Starting async DNS A query_job for chunderm1.ie1.twilio.com
2016-10-06 15:00:48.485 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu  Starting async DNS A query_job for chunderm0.ie1.twilio.com
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(5):     resolver.c  Received 82 bytes DNS response from <IP_ADDRESS>:0
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu  DNS A for chunderm1.ie1.twilio.com: <IP_ADDRESS>
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(5):     resolver.c  Received 82 bytes DNS response from <IP_ADDRESS>:0
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu  DNS A for chunderm0.ie1.twilio.com: <IP_ADDRESS>
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(5): _sips._tcp.chu  Server resolution complete, 2 server entry(s) found
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(4): tlsc0x1289f562  TLS client transport created
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(4): tlsc0x1289f562  TLS transport <IP_ADDRESS>:56779 is connecting to chunderm.gll.twilio.com:10194...
2016-10-06 15:00:48.486 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  TX 1860 bytes Request msg INVITE/cseq=22066 (tdta0x128880a00) to TLS <IP_ADDRESS>:10194:
INVITE sip:None@chunderm.gll.twilio.com;transport=tls SIP/2.0

Via: SIP/2.0/TLS <IP_ADDRESS>:56779;rport;branch=z9hG4bKPja59Ts0ai.3KVQ2uOJ77eZ-hrJxhNfAVo;alias

Max-Forwards: 70

From: sip:twilio@chunderm.gll.twilio.com;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To<EMAIL_ADDRESS>
Contact: <sip:twilio@<IP_ADDRESS>:56757;transport=TLS;ob>

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

CSeq: 22066 INVITE

Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS

Supported: replaces, 100rel, timer, norefersub

Session-Expires: 14400

Min-SE: 90

X-Twilio-Client: {"p":"ios","v":"2.0.0","mobile":{"arch":"arm64","product":"iPhone","name":"iPhone9,3","v":"10.0.2"}}

User-Agent: TwilioProgrammableVoice.iOS/2.0

X-Twilio-AccessToken: eyJ0eXAiOiAiSldUIiwgImN0eSI6ICJ0d2lsaW8tZnBhO3Y9MSIsICJhbGciOiAiSFMyNTYifQ.eyJleHAiOiAxNDc1NzYyNDQ3LCAianRpIjogIlNLZjkzNzhhMTY4ODdjNmJjOGMyMGE0ZmU4N2JlODllMDAtMTQ3NTc1ODg0NyIsICJzdWIiOiAiQUNhNTM3NGVlZDk3YTM5YTIyODdkMTFlZTM1NWNiYjNiNCIsICJpc3MiOiAiU0tmOTM3OGExNjg4N2M2YmM4YzIwYTRmZTg3YmU4OWUwMCIsICJncmFudHMiOiB7ImlkZW50aXR5IjogImFmN2YzYjA4LTY2NzQtNGI3OS1iNmI1LWIzYjlkYWEzODQyMiIsICJ2b2ljZSI6IHsib3V0Z29pbmciOiB7ImFwcGxpY2F0aW9uX3NpZCI6ICJBUDRhNDRlYjhmNGE4MDRmMWE4ZDFkYjdhOWVhYTUyMjNiIn0sICJwdXNoX2NyZWRlbnRpYWxfc2lkIjogIkNSZWI4ZDVhYzI0MzYwYjY4ODllMDJmYzlmY2NmYzk4ZjIifX19.6P6lOvAtqU1kqXuVBfi85dkqU4upVuLC84wSGnuGgcE

X-Twilio-ClientVersion: 3

X-Twilio-Params: To=%2B46735266067&User=2

Content-Type: application/sdp

Content-Length:   329

v=0

o=-<PHONE_NUMBER><PHONE_NUMBER> IN IP4 <IP_ADDRESS>

s=pjmedia

b=AS:84

t=0 0

a=X-nat:0

m=audio 4964 RTP/AVP 98 97 0 96

c=IN IP4 <IP_ADDRESS>

b=TIAS:64000

a=rtcp:4965 IN IP4 <IP_ADDRESS>

a=sendrecv

a=rtpmap:98 speex/16000

a=rtpmap:97 speex/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:96 telephone-event/8000

a=fmtp:96 0-16

--end msg--
2016-10-06 15:00:48.778 Bitcall[988:276080] [DEBUG Twilio] on_transport_state(): 0
2016-10-06 15:00:48.779 Bitcall[988:276080] [DEBUG Twilio] ------>Transport connected: 0x289f5628, inside transportConnected:
2016-10-06 15:00:48.779 Bitcall[988:276080] PJSIP(4): tlsc0x1289f562  TLS transport <IP_ADDRESS>:56779 is connected to chunderm.gll.twilio.com:10194
2016-10-06 15:00:48.838 Bitcall[988:276080] PJSIP(5): sip_endpoint.c  Processing incoming message: Response msg 302/INVITE/cseq=22066 (rdata0x1289f5940)
2016-10-06 15:00:48.839 Bitcall[988:276080] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2016-10-06 15:00:48.839 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  .RX 481 bytes Response msg 302/INVITE/cseq=22066 (rdata0x1289f5940) from TLS <IP_ADDRESS>:10194:
SIP/2.0 302 Moved Temporarily

Via: SIP/2.0/TLS <IP_ADDRESS>:56779;received=<IP_ADDRESS>;rport=56779;branch=z9hG4bKPja59Ts0ai.3KVQ2uOJ77eZ-hrJxhNfAVo;alias

From: sip:twilio@chunderm.gll.twilio.com;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: sip:None@chunderm.gll.twilio.com;tag=2b14b56249e38f165532d4250ab0b760.1155

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

CSeq: 22066 INVITE

Contact: <sip:<IP_ADDRESS>:10194;transport=tls>

Server: Twilio Client SBC

Content-Length: 0

--end msg--
2016-10-06 15:00:48.839 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  .Incoming Response msg 302/INVITE/cseq=22066 (rdata0x1289f5940) in state Calling
2016-10-06 15:00:48.839 Bitcall[988:276080] PJSIP(5):       endpoint  ..Request msg ACK/cseq=22066 (tdta0x12818c400) created.
2016-10-06 15:00:48.840 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  ..TX 418 bytes Request msg ACK/cseq=22066 (tdta0x12818c400) to TLS <IP_ADDRESS>:10194:
ACK sip:None@chunderm.gll.twilio.com;transport=tls SIP/2.0

Via: SIP/2.0/TLS <IP_ADDRESS>:56779;rport;branch=z9hG4bKPja59Ts0ai.3KVQ2uOJ77eZ-hrJxhNfAVo;alias

Max-Forwards: 70

From: sip:twilio@chunderm.gll.twilio.com;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: sip:None@chunderm.gll.twilio.com;tag=2b14b56249e38f165532d4250ab0b760.1155

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

CSeq: 22066 ACK

Content-Length:  0

--end msg--
2016-10-06 15:00:48.840 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  ..State changed from Calling to Completed, event=RX_MSG
2016-10-06 15:00:48.841 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Received Response msg 302/INVITE/cseq=22066 (rdata0x1289f5940)
2016-10-06 15:00:48.841 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Transaction tsx0x1289eeca8 state changed to Completed
2016-10-06 15:00:48.841 Bitcall[988:276080] [DEBUG Twilio] In on_call_redirected, call_id: 0, target: 0x127d24e38, pjsip_event: 0x16ebc8638
2016-10-06 15:00:48.842 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  .....Session count inc to 3 by mod-invite
2016-10-06 15:00:48.842 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  .....Session count dec to 3 by mod-invite
2016-10-06 15:00:48.842 Bitcall[988:276080] PJSIP(5): inv0x1289e04a8  .....Sending Request msg INVITE/cseq=22066 (tdta0x128880a00)
2016-10-06 15:00:48.843 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ......Sending Request msg INVITE/cseq=22066 (tdta0x128880a00)
2016-10-06 15:00:48.843 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  .......Transaction created for Request msg INVITE/cseq=22067 (tdta0x128880a00)
2016-10-06 15:00:48.843 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  ......Sending Request msg INVITE/cseq=22067 (tdta0x128880a00) in state Null
2016-10-06 15:00:48.843 Bitcall[988:276080] PJSIP(5):  sip_resolve.c  .......Target '<IP_ADDRESS>:10194' type=TLS resolved to '<IP_ADDRESS>:10194' type=TLS (TLS transport)
2016-10-06 15:00:48.845 Bitcall[988:276080] PJSIP(4): tlsc0x1289fa02  .......TLS client transport created
2016-10-06 15:00:48.845 Bitcall[988:276080] PJSIP(4): tlsc0x1289fa02  .......TLS transport <IP_ADDRESS>:56780 is connecting to <IP_ADDRESS>:10194...
2016-10-06 15:00:48.845 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  .......TX 1852 bytes Request msg INVITE/cseq=22067 (tdta0x128880a00) to TLS <IP_ADDRESS>:10194:
INVITE sip:<IP_ADDRESS>:10194;transport=tls SIP/2.0

Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport;branch=z9hG4bKPj1V4kLs1QPr0Y3PJraxk9vimuxiT03Etf;alias

Max-Forwards: 70

From: sip:twilio@chunderm.gll.twilio.com;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To<EMAIL_ADDRESS>
Contact: <sip:twilio@<IP_ADDRESS>:56757;transport=TLS;ob>

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

CSeq: 22067 INVITE

Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS

Supported: replaces, 100rel, timer, norefersub

Session-Expires: 14400

Min-SE: 90

X-Twilio-Client: {"p":"ios","v":"2.0.0","mobile":{"arch":"arm64","product":"iPhone","name":"iPhone9,3","v":"10.0.2"}}

User-Agent: TwilioProgrammableVoice.iOS/2.0

X-Twilio-AccessToken: eyJ0eXAiOiAiSldUIiwgImN0eSI6ICJ0d2lsaW8tZnBhO3Y9MSIsICJhbGciOiAiSFMyNTYifQ.eyJleHAiOiAxNDc1NzYyNDQ3LCAianRpIjogIlNLZjkzNzhhMTY4ODdjNmJjOGMyMGE0ZmU4N2JlODllMDAtMTQ3NTc1ODg0NyIsICJzdWIiOiAiQUNhNTM3NGVlZDk3YTM5YTIyODdkMTFlZTM1NWNiYjNiNCIsICJpc3MiOiAiU0tmOTM3OGExNjg4N2M2YmM4YzIwYTRmZTg3YmU4OWUwMCIsICJncmFudHMiOiB7ImlkZW50aXR5IjogImFmN2YzYjA4LTY2NzQtNGI3OS1iNmI1LWIzYjlkYWEzODQyMiIsICJ2b2ljZSI6IHsib3V0Z29pbmciOiB7ImFwcGxpY2F0aW9uX3NpZCI6ICJBUDRhNDRlYjhmNGE4MDRmMWE4ZDFkYjdhOWVhYTUyMjNiIn0sICJwdXNoX2NyZWRlbnRpYWxfc2lkIjogIkNSZWI4ZDVhYzI0MzYwYjY4ODllMDJmYzlmY2NmYzk4ZjIifX19.6P6lOvAtqU1kqXuVBfi85dkqU4upVuLC84wSGnuGgcE

X-Twilio-ClientVersion: 3

X-Twilio-Params: To=%2B46735266067&User=2

Content-Type: application/sdp

Content-Length:   329

v=0

o=-<PHONE_NUMBER><PHONE_NUMBER> IN IP4 <IP_ADDRESS>

s=pjmedia

b=AS:84

t=0 0

a=X-nat:0

m=audio 4964 RTP/AVP 98 97 0 96

c=IN IP4 <IP_ADDRESS>

b=TIAS:64000

a=rtcp:4965 IN IP4 <IP_ADDRESS>

a=sendrecv

a=rtpmap:98 speex/16000

a=rtpmap:97 speex/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:96 telephone-event/8000

a=fmtp:96 0-16

--end msg--
2016-10-06 15:00:48.849 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  .......State changed from Null to Calling, event=TX_MSG
2016-10-06 15:00:48.850 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ........Transaction tsx0x12818d4a8 state changed to Calling
2016-10-06 15:00:48.850 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2016-10-06 15:00:48.850 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 4, status_code: 302: Moved Temporarily
2016-10-06 15:00:48.851 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  Timeout timer event
2016-10-06 15:00:48.851 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  .State changed from Completed to Terminated, event=TIMER
2016-10-06 15:00:48.851 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ..Transaction tsx0x1289eeca8 state changed to Terminated
2016-10-06 15:00:48.851 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 302: Moved Temporarily
2016-10-06 15:00:48.851 Bitcall[988:276080] [DEBUG Twilio] ------>Destroying transport: 0x1289f5628, inside releaseTransport
2016-10-06 15:00:48.852 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  Timeout timer event
2016-10-06 15:00:48.853 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  .State changed from Terminated to Destroyed, event=TIMER
2016-10-06 15:00:48.853 Bitcall[988:276080] PJSIP(5): tdta0x12818c40  ..Destroying txdata Request msg ACK/cseq=22066 (tdta0x12818c400)
2016-10-06 15:00:48.853 Bitcall[988:276080] PJSIP(5): tsx0x1289eeca8  Transaction destroyed!
2016-10-06 15:00:49.199 Bitcall[988:276080] [DEBUG Twilio] on_transport_state(): 0
2016-10-06 15:00:49.199 Bitcall[988:276080] [DEBUG Twilio] ------>Transport connected: 0x289fa028, inside transportConnected:
2016-10-06 15:00:49.199 Bitcall[988:276080] PJSIP(4): tlsc0x1289fa02  TLS transport <IP_ADDRESS>:56780 is connected to <IP_ADDRESS>:10194
2016-10-06 15:00:49.463 Bitcall[988:276080] PJSIP(5): sip_endpoint.c  Processing incoming message: Response msg 100/INVITE/cseq=22067 (rdata0x1289fa340)
2016-10-06 15:00:49.464 Bitcall[988:276080] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2016-10-06 15:00:49.464 Bitcall[988:276080] [WARN Twilio]  .. cannot rewrite contact -> no contact
2016-10-06 15:00:49.465 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  .RX 370 bytes Response msg 100/INVITE/cseq=22067 (rdata0x1289fa340) from TLS <IP_ADDRESS>:10194:
SIP/2.0 100 Trying

CSeq: 22067 INVITE

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

From: <sip:twilio@chunderm.gll.twilio.com>;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To<EMAIL_ADDRESS>
Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport=56780;branch=z9hG4bKPj1V4kLs1QPr0Y3PJraxk9vimuxiT03Etf;alias;received=<IP_ADDRESS>

Server: Twilio

Content-Length: 0

--end msg--
2016-10-06 15:00:49.466 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  .Incoming Response msg 100/INVITE/cseq=22067 (rdata0x1289fa340) in state Calling
2016-10-06 15:00:49.467 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  ..State changed from Calling to Proceeding, event=RX_MSG
2016-10-06 15:00:49.471 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Received Response msg 100/INVITE/cseq=22067 (rdata0x1289fa340)
2016-10-06 15:00:49.471 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Transaction tsx0x12818d4a8 state changed to Proceeding
2016-10-06 15:00:49.472 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 3, status_code: 100: Trying
2016-10-06 15:00:49.668 Bitcall[988:276080] PJSIP(5): sip_endpoint.c  Processing incoming message: Response msg 180/INVITE/cseq=22067 (rdata0x1289fa340)
2016-10-06 15:00:49.670 Bitcall[988:276080] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2016-10-06 15:00:49.672 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  .RX 571 bytes Response msg 180/INVITE/cseq=22067 (rdata0x1289fa340) from TLS <IP_ADDRESS>:10194:
SIP/2.0 180 Ringing

CSeq: 22067 INVITE

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

From: <sip:twilio@chunderm.gll.twilio.com>;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: <sip:None@chunderm.gll.twilio.com>;tag=55671745_6772d868_69bf2460-cf43-47b9-a72d-205903c54604

Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport=56780;branch=z9hG4bKPj1V4kLs1QPr0Y3PJraxk9vimuxiT03Etf;alias;received=<IP_ADDRESS>

Server: Twilio

Contact: <sip:ec2-54-154-182-131.eu-west-1.compute.amazonaws.com:10194;transport=tls>

X-Twilio-CallSid: CA6e1d9363e2d0ba4f4372c3f86d1629c0

Content-Length: 0

--end msg--
2016-10-06 15:00:49.673 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  .Incoming Response msg 180/INVITE/cseq=22067 (rdata0x1289fa340) in state Proceeding
2016-10-06 15:00:49.673 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  ..State changed from Proceeding to Proceeding, event=RX_MSG
2016-10-06 15:00:49.677 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Received Response msg 180/INVITE/cseq=22067 (rdata0x1289fa340)
2016-10-06 15:00:49.678 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ....Route-set updated
2016-10-06 15:00:49.680 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Transaction tsx0x12818d4a8 state changed to Proceeding
2016-10-06 15:00:49.681 Bitcall[988:276080] [DEBUG Twilio] Inside on_call_state(), call: 0x1700bb0c0, internal state: 0
2016-10-06 15:00:49.681 Bitcall[988:276080] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_EARLY
2016-10-06 15:00:49.681 Bitcall[988:276080] [VERBOSE TVOOutgoingCall] handlePJSIPInviteStateEarly. Error: (null)
2016-10-06 15:00:49.681 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 3, status_code: 180: Ringing
2016-10-06 15:00:49.855 Bitcall[988:276080] PJSIP(5): sip_endpoint.c  Processing incoming message: Response msg 200/INVITE/cseq=22067 (rdata0x1289fa340)
2016-10-06 15:00:49.855 Bitcall[988:276080] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2016-10-06 15:00:49.855 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  .RX 890 bytes Response msg 200/INVITE/cseq=22067 (rdata0x1289fa340) from TLS <IP_ADDRESS>:10194:
SIP/2.0 200 OK

CSeq: 22067 INVITE

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

From: <sip:twilio@chunderm.gll.twilio.com>;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: <sip:None@chunderm.gll.twilio.com>;tag=55671745_6772d868_69bf2460-cf43-47b9-a72d-205903c54604

Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport=56780;branch=z9hG4bKPj1V4kLs1QPr0Y3PJraxk9vimuxiT03Etf;alias;received=<IP_ADDRESS>

Server: Twilio

Contact: <sip:ec2-54-154-182-131.eu-west-1.compute.amazonaws.com:10194;transport=tls>

Content-Type: application/sdp

X-Twilio-CallSid: CA6e1d9363e2d0ba4f4372c3f86d1629c0

Content-Length: 291

v=0

o=root<PHONE_NUMBER><PHONE_NUMBER> IN IP4 <IP_ADDRESS>

s=Twilio Media Server

c=IN IP4 <IP_ADDRESS>

t=0 0

m=audio 19032 RTP/AVP 0 98 97 96

a=rtpmap:0 PCMU/8000

a=rtpmap:98 speex/16000

a=rtpmap:97 speex/8000

a=rtpmap:96 telephone-event/8000

a=fmtp:96 0-16

a=ptime:20

a=sendrecv

--end msg--
2016-10-06 15:00:49.861 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  .Incoming Response msg 200/INVITE/cseq=22067 (rdata0x1289fa340) in state Proceeding
2016-10-06 15:00:49.862 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  ..State changed from Proceeding to Terminated, event=RX_MSG
2016-10-06 15:00:49.862 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Received Response msg 200/INVITE/cseq=22067 (rdata0x1289fa340)
2016-10-06 15:00:49.862 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ....Route-set updated
2016-10-06 15:00:49.862 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ....Route-set frozen
2016-10-06 15:00:49.863 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Transaction tsx0x12818d4a8 state changed to Terminated
2016-10-06 15:00:49.863 Bitcall[988:276080] [DEBUG Twilio] Inside on_call_state(), call: 0x1700bb0c0, internal state: 0
2016-10-06 15:00:49.863 Bitcall[988:276080] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CONNECTING
2016-10-06 15:00:49.870 Bitcall[988:276080] [VERBOSE TVOOutgoingCall] handlePJSIPInviteStateConnecting.  Error: (null)
2016-10-06 15:00:49.911 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 200: OK
2016-10-06 15:00:49.911 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  Timeout timer event
2016-10-06 15:00:49.911 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  .State changed from Terminated to Destroyed, event=TIMER
2016-10-06 15:00:49.911 Bitcall[988:276080] PJSIP(5): tsx0x12818d4a8  Transaction destroyed!
2016-10-06 15:00:49.911 Bitcall[988:276080] PJSIP(5):     resolver.c  Received 134 bytes DNS response from <IP_ADDRESS>:0
2016-10-06 15:00:49.912 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  TX 463 bytes Request msg ACK/cseq=22067 (tdta0x128a03200) to TLS <IP_ADDRESS>:10194:
ACK sip:ec2-54-154-182-131.eu-west-1.compute.amazonaws.com:10194;transport=tls SIP/2.0

Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport;branch=z9hG4bKPjjMLKkdbg3qnl6twiT8kCiyCi9rvYu.er;alias

Max-Forwards: 70

From: sip:twilio@chunderm.gll.twilio.com;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: sip:None@chunderm.gll.twilio.com;tag=55671745_6772d868_69bf2460-cf43-47b9-a72d-205903c54604

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

CSeq: 22067 ACK

Content-Length:  0

--end msg--
2016-10-06 15:00:58.669 Bitcall[988:275957] [DEBUG TVOCommandHandler] Inside postCommand:, received command of type TVOHangupCallCommand
2016-10-06 15:00:58.670 Bitcall[988:276066] [DEBUG TVOCall] Inside TVOCall.hangup, hanging up call, callID: 0
2016-10-06 15:00:58.670 Bitcall[988:276066] PJSIP(4):   pjsua_call.c !Call 0 hanging up: code=0..
2016-10-06 15:00:58.670 Bitcall[988:276066] PJSIP(5):       endpoint  ..Request msg BYE/cseq=22069 (tdta0x128a07800) created.
2016-10-06 15:00:58.670 Bitcall[988:276066] PJSIP(5): inv0x1289e04a8  ..Sending Request msg BYE/cseq=22069 (tdta0x128a07800)
2016-10-06 15:00:58.670 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  ...Sending Request msg BYE/cseq=22069 (tdta0x128a07800)
2016-10-06 15:00:58.670 Bitcall[988:276066] PJSIP(5): tsx0x1289fe8a8  ....Transaction created for Request msg BYE/cseq=22068 (tdta0x128a07800)
2016-10-06 15:00:58.670 Bitcall[988:276066] PJSIP(5): tsx0x1289fe8a8  ...Sending Request msg BYE/cseq=22068 (tdta0x128a07800) in state Null
2016-10-06 15:00:58.681 Bitcall[988:276066] PJSIP(5):  sip_resolve.c  ....Starting async DNS A query: target=ec2-54-154-182-131.eu-west-1.compute.amazonaws.com, transport=TLS, port=10194
2016-10-06 15:00:58.743 Bitcall[988:276066] PJSIP(5):     resolver.c  ....Picked up DNS A record for ec2-54-154-182-131.eu-west-1.compute.amazonaws.com from cache, ttl=291
2016-10-06 15:00:58.743 Bitcall[988:276066] PJSIP(4):   pjsua_core.c  ....TX 463 bytes Request msg BYE/cseq=22068 (tdta0x128a07800) to TLS <IP_ADDRESS>:10194:
BYE sip:ec2-54-154-182-131.eu-west-1.compute.amazonaws.com:10194;transport=tls SIP/2.0

Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport;branch=z9hG4bKPjbwEmcuKbsHqxnrNnO2uKekF6Z6a-ZhtR;alias

Max-Forwards: 70

From: sip:twilio@chunderm.gll.twilio.com;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: sip:None@chunderm.gll.twilio.com;tag=55671745_6772d868_69bf2460-cf43-47b9-a72d-205903c54604

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

CSeq: 22068 BYE

Content-Length:  0

--end msg--
2016-10-06 15:00:58.743 Bitcall[988:276066] PJSIP(5): tsx0x1289fe8a8  ....State changed from Null to Calling, event=TX_MSG
2016-10-06 15:00:58.743 Bitcall[988:276066] PJSIP(5): dlg0x1289e04a8  .....Transaction tsx0x1289fe8a8 state changed to Calling
2016-10-06 15:00:58.743 Bitcall[988:276066] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2016-10-06 15:00:58.926 Bitcall[988:276080] PJSIP(5): sip_endpoint.c !Processing incoming message: Response msg 200/BYE/cseq=22068 (rdata0x1289fa340)
2016-10-06 15:00:58.927 Bitcall[988:276080] PJSIP(4):   pjsua_core.c  .RX 476 bytes Response msg 200/BYE/cseq=22068 (rdata0x1289fa340) from TLS <IP_ADDRESS>:10194:
SIP/2.0 200 OK

CSeq: 22068 BYE

Call-ID: alBbvl2TTXJTYXEoy23V8UfJg2KvPR.d

From: <sip:twilio@chunderm.gll.twilio.com>;tag=tn.T85v6ITYA2ZVhH4jHo6Ib.rKUoGeG

To: <sip:None@chunderm.gll.twilio.com>;tag=55671745_6772d868_69bf2460-cf43-47b9-a72d-205903c54604

Via: SIP/2.0/TLS <IP_ADDRESS>:56780;rport=56780;branch=z9hG4bKPjbwEmcuKbsHqxnrNnO2uKekF6Z6a-ZhtR;alias;received=<IP_ADDRESS>

Server: Twilio

X-Twilio-CallSid: CA6e1d9363e2d0ba4f4372c3f86d1629c0

Content-Length: 0

--end msg--
2016-10-06 15:00:58.927 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  .Incoming Response msg 200/BYE/cseq=22068 (rdata0x1289fa340) in state Calling
2016-10-06 15:00:58.927 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  ..State changed from Calling to Completed, event=RX_MSG
2016-10-06 15:00:58.927 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Received Response msg 200/BYE/cseq=22068 (rdata0x1289fa340)
2016-10-06 15:00:58.927 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Transaction tsx0x1289fe8a8 state changed to Completed
2016-10-06 15:00:58.927 Bitcall[988:276080] [VERBOSE Twilio] on_call_tsx_state(), state: 4, status_code: 200: OK
2016-10-06 15:00:58.927 Bitcall[988:276080] [DEBUG Twilio] Inside on_call_state(), call: 0x1700bb0c0, internal state: 4
2016-10-06 15:00:58.927 Bitcall[988:276080] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_DISCONNECTED, internal state: 4, last_status: 200
2016-10-06 15:00:58.927 Bitcall[988:276080] [VERBOSE TVOOutgoingCall] handlePJSIPInviteStateDisconnected. Error: (null)
2016-10-06 15:00:58.928 Bitcall[988:276080] [DEBUG VoiceClient] Inside removeFromActiveOutgoingCalls:, remove outgoing call <TVOOutgoingCall: 0x1700bb0c0> from active outgoing calls
2016-10-06 15:00:58.928 Bitcall[988:276080] [DEBUG Twilio] ------>Destroying transport: 0x1289fa028, inside releaseAllTransports
2016-10-06 15:00:58.929 Bitcall[988:276080] [DEBUG Twilio] on_transport_state(): 2
2016-10-06 15:00:58.929 Bitcall[988:276080] [DEBUG Twilio] ------>Transport disconnected: 0x1289fa028, inside transportDisconnected:
2016-10-06 15:00:58.929 Bitcall[988:276080] PJSIP(4):  pjsua_media.c  .....Call 0: deinitializing media..
2016-10-06 15:00:58.929 Bitcall[988:276080] PJSIP(5): strm0x128a0022  .......JB summary:
  size=0/eff=0 prefetch=0 level=0
  delay (min/max/avg/dev)=0/0/0/0 ms
  burst (min/max/avg/dev)=0/0/0/0 frames
  lost=0 discard=0 empty=0
2016-10-06 15:00:58.929 Bitcall[988:276080] PJSIP(4):  pjsua_media.c  .......Media stream call00:0 is destroyed
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): tdta0x128a0320  ....Destroying txdata Request msg ACK/cseq=22067 (tdta0x128a03200)
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): tdta0x128880a0  ....Destroying txdata Request msg INVITE/cseq=22067 (tdta0x128880a00)
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  .....Session count dec to 1 by mod-invite
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  Timeout timer event
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  .State changed from Completed to Terminated, event=TIMER
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ..Transaction tsx0x1289fe8a8 state changed to Terminated
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): dlg0x1289e04a8  ...Dialog destroyed
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  Timeout timer event
2016-10-06 15:00:58.930 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  .State changed from Terminated to Destroyed, event=TIMER
2016-10-06 15:00:58.931 Bitcall[988:276080] PJSIP(5): tdta0x128a0780  ..Destroying txdata Request msg BYE/cseq=22068 (tdta0x128a07800)
2016-10-06 15:00:58.931 Bitcall[988:276080] PJSIP(5): tsx0x1289fe8a8  Transaction destroyed!
2016-10-06 15:00:58.931 Bitcall[988:276080] [DEBUG Twilio] on_transport_state(): 3
2016-10-06 15:00:58.931 Bitcall[988:276080] PJSIP(4): tlsc0x1289fa02  TLS transport destroyed normally
2016-10-06 15:01:01.931 Bitcall[988:276080] PJSIP(4):    pjsua_aud.c  Closing sound device after idle for 3 second(s)
2016-10-06 15:01:01.953 Bitcall[988:276080] PJSIP(4):    pjsua_aud.c  .Closing iPhone IO device sound playback device and iPhone IO device sound capture device
2016-10-06 15:01:01.954 Bitcall[988:276080] PJSIP(4): coreaudio_dev.  .core audio stream stopped
2016-10-06 15:01:21.853 Bitcall[988:276080] [DEBUG Twilio] on_transport_state(): 3
2016-10-06 15:01:21.859 Bitcall[988:276080] PJSIP(4): tlsc0x1289f562  TLS transport destroyed normally

After testing to record the call it seems as though this is an audio output issue. Input works just fine as hear both parties in the recording.

Also tested implement CallKit for inbound calls and that works exactly as it should. No audio issues.

Cool @homanp 👍
Did you try and fix anything, or just added CallKit action/transaction stuff and inbound call audio worked?
Btw it'd be great if you could also try various call scenarios like:

app in the foreground, app in the background, device lock
default audio output, speaker, bluetooth
We are working on listing as many possible cases as we can and see how the SDK behaves. Hopefully in the future beta the SDK will provide solid CallKit support.

I just added the inbound action and it worked out of the box.
Inbound works fine in all of those scenarios. But I'll report any issues here for your information.

Just an FYI, @homanp... We released Beta 4 today which has better support and handling for CallKit.
There are also quick start apps geared towards CallKit usage:

https://github.com/twilio/voice-callkit-quickstart-objc
https://github.com/twilio/voice-callkit-quickstart-swift

Awesome! Will try it out today!

Fantastic! Is there anything else outstanding with this issue that beta 4 doesn't address?


Chat transcript loading

The plugin doesn't get any further than showing the 'Chat transcript loading' message. Tested on chrome version 94.0.4606.81

Same here... :( 96.0.4664.110 on Mac.

Duplicate of #1

Same here. Extension gets stuck in Loading...


Update to Swift 4 and fix issue #5

Thank you for the contribution. as we accept the latest 4.2 pull request, i will close this one.


Vector Map

Hi, Thanks for your work. I have a question about how to generate the Vector BEV map in carla just like the nuscenes？ Can you give me some suggestions?

Vector BEV map in carla just like the nuscenes？

Would you please provide an example of Vector BEV? If what you mean is to remove the background OpenDrive map view or replace it with other color, you may adjust the color that used for map rendering (especially the draw_topology part): https://github.com/Morphlng/Carla_nuScenes_BEV/blob/2b29a2aa7dda1a457cec8e52a66862c91ead4967/birdeye_render.py#L189

Sorry for the late reply. The vector map denotes that a dictionarly that contains the information of the relative map. For instance {lane: (x1,y1)-(x2,y2),junction:}
Just like the dataset used in the online hd_map generation.


Trakt Watched Status Bug

In the Sync section of the extension, some of my watched items in trakt shown as not watched. The extension successfully finds the correct episodes but it seems unable to find correct watched status. Btw, this doesn't happen to all episodes. For example, the watched status of the episode S2E21 is right but S2E20 is wrong

Do the date/time as displayed on Netflix (as seen on the extension) match the ones on trakt?

Yes, they do

Hm, the way that it matches synced items is by either the exact date or a 26-hour difference. What is the time for the watched episode on Trakt?

It is more than 26 hours. But I don't understand about this restriction. If the episode is seen as watched in trakt, I thought it should have synced without any conflict

It's because you can watch something more than once, so the 26 hour limit makes it more accurate (it's 26 hours because the largest timezone difference between 2 countries is 26 hours, but it's pretty much 1 day).
We can see about maybe removing it, or making it an option.
@MrMamen Thoughts?

I understand. I think it would be much better if this settings comes an option

i think it is a good idea to be able to sync rewatches. But I suppose it would be possible to get the trakt-card as a list. This way you could see both. There is a big problem with history items on almost all streaming services where they overwrite progress/date if you hit play again.


changing stage and commenting

Most importantly :

add time.sleep(10) commands at the end of the collection and item insertion tests to make sure enough time is allowed between the insertion tests and the query tests. We noticed that if we tested queries too fast, sometimes the data wasn't actually inserted yet in the database.
remove a line in the workflow YAML file that was hard-coding the branch from which the workflow was supposed to run.
remove the hard coded STAC API URL, making use of environment variables instead.

Secondary :

update the STAC API URL in the test data. This has no consequences but an out of date URL was hard coded there.
switch to a manual run. We'll set back up the cron once https://github.com/NASA-IMPACT/active-maap-sprint/issues/699 is done.

@omshinde FYI I added a description of the PR, sorry that I didn't do this before. Merging.


feat: install misc tools

Closes: #66

:tada: This PR is included in version 1.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Performance improvement for content checksum

I think there a can be get a 300% performance gain by using the Blake2b checksum instead of SHA-256 (which is a improved version of the Blake algorithm used in SHA-3)
Benchmark from github.com/codahale/blake2:
My NAS
Intel(R) Atom(TM) CPU  C2550  @ 2.41GHz, 4 cores, 1MByte L1 cache
BenchmarkBlake2B-4<PHONE_NUMBER> ns/op     125.51 MB/s
BenchmarkMD5-4<PHONE_NUMBER> ns/op     408.18 MB/s
BenchmarkSHA1-4<PHONE_NUMBER> ns/op     196.28 MB/s
BenchmarkSHA256-4<PHONE_NUMBER>3 ns/op      76.97 MB/s
BenchmarkSHA512-4<PHONE_NUMBER> ns/op     117.69 MB/s

KVM VPS (depends on host os scheduling)
Westmere E56xx/L56xx/X56xx (Nehalem-C) @ 2294.686 MHz, 4MByte L1 cache
BenchmarkBlake2B        1000       2633524 ns/op     398.16 MB/s
BenchmarkMD5        1000       2095968 ns/op     500.28 MB/s
BenchmarkSHA1       1000       2677232 ns/op     391.66 MB/s
BenchmarkSHA256<PHONE_NUMBER> ns/op     144.23 MB/s
BenchmarkSHA512<PHONE_NUMBER> ns/op     216.91 MB/s

MacBookPro11,1 2.4 GHz (i5-4258U) Intel Core i5 Haswell
BenchmarkBlake2B-4      1000       2130623 ns/op     492.15 MB/s
BenchmarkMD5-4          1000       1865851 ns/op     561.98 MB/s
BenchmarkSHA1-4<PHONE_NUMBER> ns/op     446.84 MB/s
BenchmarkSHA256-4<PHONE_NUMBER> ns/op     161.99 MB/s
BenchmarkSHA512-4<PHONE_NUMBER> ns/op     265.50 MB/s

The specification can be read here: https://blake2.net/
Wikipedia: https://en.wikipedia.org/wiki/BLAKE_(hash_function)
On my macbook this is a performance gain of 300% :+1:
If seen bazil filesystem using Blake2 for chunking:
https://github.com/bazil/bazil/blob/master/cas/chunks/chunkutil/hash.go
Architecture: https://bazil.org/doc/architecture/#cas
Just an idea to use newer and faster technologies :-)

Thanks for having a look, I'll keep that in mind for a later version. At the moment it's much more important to get the code stabilized and add more important features. Changing the underlying hash is a breaking change, so we need to be really sure about it. ;)

Yeah I know, when there are more tests and it is more stable it could be developed/tested in a separated branch. Its good to know where there could be improvements done in the future. Thanks for your answer!

Just for reference:
The "offical" golang x/crypto sub-repo now contains both - BLAKE2b and BLAKE2s

Thanks @aead, I must have missed your comment notification. I use BLAKE2s in a few projects myself and I'm very happy with the performance compared to SHA256.
@fd0 if you want to leave SHA256 in for now, you could try the drop-in replacement sha256-simd which can improve the performance by a few factors.
See: https://github.com/minio/sha256-simd

I made a few tests with that implementation a while ago, and decided it wasn't worth including another third-party library (even if it's from the awesome people at minio). Did you test it recently?

It depends on the platform, but SIMD kan have some performance improvements. At least in the Syncthing project. I'm not using sha256 myself and have not run any benchmarks on this.

The last time I had a look, the syncthing people talked about this implementation crashing from time to time on some architectures. Do you maybe know if that has been solved yet?

Yes this was due to misdetection in CPU features. It has been fixed recently (here https://github.com/minio/sha256-simd/issues/6). They also implement algo-switching with best-measured on application startup:
[TWJVV] 10:18:53 INFO: Single thread SHA256 performance is 384 MB/s using minio/sha256-simd (379 MB/s using crypto/sha256).

@fd are you attending at FOSDEM '17?

Yeah, I'll be there on Sunday: https://restic.github.io/blog/2017-02-02/FOSDEM-2017-Brussels

Great, probably we will see each other in meatspace then :-).

Looking forward to it!

@xor-gate
On non-arm machines minio uses the /x/crypto/blake2b now - but their SHA-256 impl. for arm is very good work!
Here some benchmarks on an i7-U6500:
BLAKE2b
BenchmarkWrite128-4   	10000000	       166 ns/op	 770.27 MB/s
BenchmarkWrite1K-4    	 1000000	      1199 ns/op	 853.39 MB/s
BenchmarkSum128-4     	10000000	       189 ns/op	 677.14 MB/s
BenchmarkSum1K-4      	 1000000	      1216 ns/op	 841.85 MB/s

vs SHA-256
BenchmarkHash8Bytes-4   	 5000000	       282 ns/op	  28.27 MB/s
BenchmarkHash1K-4       	  500000	      3266 ns/op	 313.50 MB/s
BenchmarkHash8K-4       	  100000	     24018 ns/op	 341.07 MB/s

(Notice that there's a AVX(2) bug in the BLAKE2b impl., but a patch is submitted )
But I would agree with you (@fd0), that there are probably more important issues (and features), than the hash-performance

Yes I agree this is low-prio but worth the discussion and testing.

Ah, that's not really what meant, but interesting nonetheless. I was asking for benchmarks on the stdlib SHA2 implementation versus the Minio one. :smile:

Ah, that's not really what meant, but interesting nonetheless. I was asking for benchmarks on the stdlib SHA2 implementation versus the Minio one. 😄

The README lists a performance comparison with crypto/sha256 if that's what you were looking for.

Interesting, thanks!

since the hash does not need to be cryptograhpic afaik, we should maybe think about xxhash too. That is a very fast non-cryptographic hash, which is widely used.

I'm pretty sure that we want a cryptographic hash, as the base assumption of restic is that there will never be two blobs which have the same hash. It is probably way to easy to violate that assumption using a non-cryptographic hash.
xxHash is also not usable for a different reason: it only creates up to 128bit hashes which has a far too high probability of hash collisions on large backups.
Restic has been using https://github.com/minio/sha256-simd for some time now which is able to make use of hardware acceleration if existing for the sha256 hash calculation.

As I don't us changing the content checksum sometime in the future, let's close this issue. Thanks for the input anyways!


providers/packet: expose phone home url

This is needed in order to build the full URL for the phone-home
endpoint. This endpoint is POSTed to after boot to indicate that the
instance is ready to go.

Verified that this works.


Inventory management

Been having a lot of issues with MultiInv and WorldInventories wiping all items when teleporting/warping/respawning across worlds.  Native support would be most helpful.

See Multiverse-Inventories (beta).

Wow!  How did I miss that??  Thank you!  Trying it now...


Handle exceptions in asyn void

Please refer to #749.
I noticed unhandled exception at async void may terminates Visual Studio.
I did a search, we have more code using async void.
We may want to fix these error.

Hi Ivan,  may you fix the bug?